文档库 最新最全的文档下载
当前位置:文档库 › Linux编程题

Linux编程题

Linux编程题

1、编写一个shell脚本,他把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。

#!bash

count=$#

echo $count

if [ $count -lt 2 ]

then echo "The reference is invalid"

exit

else echo "The reference is valid"

fi

if test -d "$1"

then echo "the first reference is valid"

else echo "the first reference is invalid"

fi

while [ -f "\$$count" ]

do

count=`expr $count - 1` done

echo $count

2、编写一个shell脚本,显示当天日期,查找给定的某用户是否在系统中工作,如果在系统中,就发一个问候给他。#!bash

echo "Today is `date`"

user=`whoami`

if [ $user == $1 ]

then echo "Hello ,$1"

fi

3、利用数组形式存放10个城市的名字,然后用for循环把它们打印出来。

#!bash

city[0]="xi'an"

city[1]="beijing"

city[2]="shanghai"

city[3]="chengdu"

city[4]="nanjing"

for((i=0;i<5;i++))

do

echo ${city[$i]}

done

4、逆序打印脚本提供的参数count=$#

cmd=echo

while [ $count -gt 0 ]

do

cmd="$cmd \$$count"

count=` expr $count - 1 ` done

eval $cmd

5、编写一个Shell程序,它以立方体的边长作为参数,显示立方体的体积。

#!/bin/bash

number=$1

if [ -z "$number" ]; then

echo "Missing argument"

exit 1

fi

if [ $number -lt 1 ]; then

echo "Invalid length $number"

exit 1

fi

volume=$((number*number* number))

echo "volume is $volume" 6、删除当前目录下(包括各级子目录)所有长度为0的文件find -size 0b | xargs rm -rf。7、求费波那切前十项和总和

#!/bin/sh

a=1

b=1

echo $a

echo $b

n=`expr ${a} + ${b}`

count=4

while [ $count -gt 0 ]

do

a=`expr ${a} + ${b}`

b=`expr ${a} + ${b}`

echo $a

echo $b

n=`expr ${n} + ${a} +

${b}`

count=`expr ${count} - 1`

done

echo "The sum is $n"

8、将指定目录及其子目录中

的包含字符串root的文本文

件找出来。

#/bin/bash

if [ -z "$1" ]

then

path=`pwd`

echo "缺少参数,默认

为当前目录$path "

echo

find $path -type f |

grep "root"

else

echo "参数$1 所指向

的目录和其子目录中包含

root的文本文件如下:"

echo

find $1 -type f | grep

"root"

fi

9、参数数目不能小于2,第一

个参数为目录文件,最后打印

出不是普通文件的参数个数

#!bash

count=$#

echo $count

if [ $count -lt 2 ]

then echo "The reference is

invalid" exit

else echo "The reference is

valid"

fi

if test -d "$1"

then echo "the first

reference is valid"

else echo "the first reference

is invalid" fi

while [ -f "\$$count" ]

do count=`expr $count - 1`

done

echo $count

1、编写一个shell脚本,他把

第二个位置参数及其以后的

各个参数指定的文件复制到

第一个位置参数指定的目录

中。

#!bash

count=$#

echo $count

if [ $count -lt 2 ]

then echo "The reference is

invalid"

exit

else echo "The reference is

valid"

fi

if test -d "$1"

then echo "the first

reference is valid"

else echo "the first reference

is invalid"

fi

while [ -f "\$$count" ]

do

count=`expr $count - 1`

done

echo $count

2、编写一个shell脚本,显示

当天日期,查找给定的某用户

是否在系统中工作,如果在系

统中,就发一个问候给他。

#!bash

echo "Today is `date`"

user=`whoami`

if [ $user == $1 ]

then echo "Hello ,$1"

fi

3、利用数组形式存放10个城

市的名字,然后用for循环把

它们打印出来。

#!bash

city[0]="xi'an"

city[1]="beijing"

city[2]="shanghai"

city[3]="chengdu"

city[4]="nanjing"

for((i=0;i<5;i++))

do

echo ${city[$i]}

done

4、逆序打印脚本提供的参数

count=$#

cmd=echo

while [ $count -gt 0 ]

do

cmd="$cmd \$$count"

count=` expr $count - 1 `

done

eval $cmd

5、编写一个Shell程序,它以

立方体的边长作为参数,显示

立方体的体积。

#!/bin/bash

number=$1

if [ -z "$number" ]; then

echo "Missing

argument"

exit 1

fi

if [ $number -lt 1 ]; then

echo "Invalid length

$number"

exit 1

fi

volume=$((number*number*

number))

echo "volume is $volume"

6、删除当前目录下(包括各级

子目录)所有长度为0的文件

find -size 0b | xargs rm -rf。

7、求费波那切前十项和总和

#!/bin/sh

a=1

b=1

echo $a

echo $b

n=`expr ${a} + ${b}`

count=4

while [ $count -gt 0 ]

do

a=`expr ${a} + ${b}`

b=`expr ${a} + ${b}`

echo $a

echo $b

n=`expr ${n} + ${a} +

${b}`

count=`expr ${count} - 1`

done

echo "The sum is $n"

8、将指定目录及其子目录中

的包含字符串root的文本文

件找出来。

#/bin/bash

if [ -z "$1" ]

then

path=`pwd`

echo "缺少参数,默认

为当前目录$path "

echo

find $path -type f |

grep "root"

else

echo "参数$1 所指向

的目录和其子目录中包含

root的文本文件如下:"

echo

find $1 -type f | grep

"root"

fi

9、参数数目不能小于2,第一

个参数为目录文件,最后打印

出不是普通文件的参数个数

#!bash

count=$#

echo $count

if [ $count -lt 2 ]

then echo "The reference is

invalid" exit

else echo "The reference is

valid"

fi

if test -d "$1"

then echo "the first

reference is valid"

else echo "the first reference

is invalid" fi

while [ -f "\$$count" ]

do count=`expr $count - 1`

done

echo $count

相关文档