- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
shell脚本练习题shell脚本练习题
shell脚本例子集锦(习题总结)
练习一:写一个脚本?????? 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?????????? LINES=`wc -l $file | cut -d -f1`?????????? for I in `seq 1 $LINES`;do?????????? userid=`head -$I $file | tail -1 |cut -d: -f3`?????????? username=`head -$I $file | tail -1 |cut -d: -f1`?????????? echo hello $username,your UID is $userid?????????? done?????????? echo there are $LINES users???? 答案二:#!/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 there are $num users练习二:写一个脚本????? 1.切换工作目录至/var????? 2.依次向/var目录中的每个文件或子目录问好,形如:??????? (提示:for FILE in /var/*;或for FILE in `ls /var`;)??????? Hello,log????? 3.统计/var目录下共有多个文件,并显示出来? 答案:#!/bin/bash???????? cd /var???????? let num=0???????? for I in `ls /var/*`;do???????? echo hello $I???????? num=$[$num+1]???????? done???????? echo the number of files is $num练习三:写一个脚本????? 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
练习四:写一个脚本
???????传递两个整数给脚本,让脚本分别计算并显示这两个整数的和,差,积,商????????答案如下:vim test.sh?????????????????? #!/bin/bash??????????????????? echo first number $1? (表示输出第一个数)
????????????????????echo second number $2 (表示输出第二个数)????????????????????echo $(($1+$2))????? (输出两数之和)????????????????????echo $[$1-$2]???????? (输出两数之差)??????????????????? echo $[$1*$2]???????? (输出两数之积)
????????????????????echo $[$1/$2]???????? (输出两数之商)???
文档评论(0)