shell练习汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Shell脚本操作实例

1、判断一个用户输入的是数字还是字符串。 (2)

2、判断输入数值是奇数或者偶数的脚本: (2)

3、编写shell脚本,计算1-100的和 (3)

4、输入n,计算1-n的和 (3)

5、编写shell脚本,把/root/目录下的所有目录拷贝到/tmp/目录下; (3)

6、向所有用户问好,并指出id,统计共有多少用户 (4)

7、脚本练习,设置变量、读取、保存 (4)

8、输入两个数,求和、差、商、积、余。 (5)

9、判断输入ip是否正确 (5)

10、截取文档关键词,并打印。 (6)

11、更改文件属性 (7)

12、输入符合要求的字符 (7)

14、随机输入数字,比较大小 (8)

15、输入脚本,计算所有进程所占内存之和。 (9)

16、找规律写脚本 (10)

1、判断一个用户输入的是数字还是字符串。

注意:该题目有误,没有考虑到同时输入字符和数字。#/bin/bash

read -p "输入" n

m=`echo $n|sed 's/[0-9]//g' |sed 's/[-0-9]//g'`

if [ -z $m ];then

echo "数字"

else

echo "字符"

fi

2、判断输入数值是奇数或者偶数的脚本:

注意,特殊字符或者字符串不生效。

#! /bin/bash

read -p "Input a number: " n

a=$[$n%2]

case $a in

1)

echo "The number is odd."

;;

0)

echo "The number is even."

;;

*)

echo "It's not a number!"

;;

Esac

3、编写shell脚本,计算1-100的和

#! /bin/bash

sum=0

for i in `seq 1 100`; do

sum=$[$i+$sum]i

done

echo $sum

4、输入n,计算1-n的和

编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;

#!/bin/bash

n=0

while [ $n -lt "1" ]; do

read -p "Please input a number, it must greater than "1":" n

done

sum=0

for i in `seq 1 $n`;do

sum=$[$i+$sum]

done

echo $sum

5、编写shell脚本,把/root/目录下的所有目录拷贝到/tmp/目录下;

只拷贝一个前面的文件,有问题。

#!/bin/bash

cd /root

for i in `ls`;do

if [ -d $i ] ; then

cp -r $i /tmp/

fi

done

6、向所有用户问好,并指出id,统计共有多少用户

要求:1.设定变量FILE的值为/etc/passwd;2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,形如:(提示:LINE=`wc -l /etc/passwd | cut -d" " -f1`) Hello,root,your UID is 0. 3.统计一个有多少个用户

#!/bin/bash

file=/etc/passwd

let num=0

for I in `cat $file`;do

username=`echo "$I" |cut -d: -f1`

userid=`echo "$I" |cut -d: -f3`

echo "Hello.$username,your UID is $userid"

num=$[$num+1]

done

echo "it is $num users"

7、脚本练习,设置变量、读取、保存

要求:1.设定变量file的值为/etc/passwd

2.使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容

3.把这些行保存至/tmp/mypasswd文件中

#!/bin/bash

file="/etc/passwd"

for I in 2 4 6 10 13 15;do

exec 3>/tmp/mypasswd

line=`head -$I $file | tail -1`

echo "$line"

echo "$line" >&3

exec 3>&-

done

8、输入两个数,求和、差、商、积、余。

传递两个整数给脚本,让脚本分别计算并显示这两个整数的和,差,积,商,余。

#!/bin/bash

read -p "Please input a number: " a

read -p "Please input another number: " b

sum=$[$a+$b]

dev=$[$a-$b]

ji=$[$a*$b]

chu=$[$a/$b]

yu=$[$a%$b]

echo "$a+$b=$sum"

echo "$a-$b=$dev"

echo "$a*$b=$ji"

echo "$a/$b=$chu"

echo "$a%$b=$yu"

9、判断输入ip是否正确

编写shell脚本,判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1

#! /bin/bash

checkip() {

if echo $1 |egrep -q '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' ; then

相关文档
最新文档