shell脚本编程练习
2021/7/20 7:09:35
本文主要是介绍shell脚本编程练习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
练习1
设定变量FILE的值为/etc/passwd,并依次向其中的每个用户问好,说出对方的id,最后统计一共有多少个用户
1 #!/bin/bash 2 file="/etc/passwd" 3 lines=wc -l $file | cut -d " " -f1 4 for i in `seq 1 $lines`;do 5 userid=head -$i $file | tail -1 |cut -d: -f3 6 username=head -$i $file | tail -1 | cut -d: -f1 7 echo "hello $username, your UID is $userid" 8 done 9 echo "there are $lines users"
练习2
切换工作目录至/var,依次向/var目录中的每个文件或子目录问好
#!/bin/bash cd /var let num=0 for i in `ls`;do echo "hello $i" num=$[$num+1] done echo "the number of files is $num"
练习3
设定变量的值为/etc/passwd,使用循环读取文件中的第2,4,6,10,13,15行,并显示其内容,将这些内容保存至/tmp/mypasswd中
#!/bin/bash file="/etc/passwd" exec 3 > /tmp/mypasswd for f in 2 4 6 10 13 15;do line=`sed -n "${f}p" $file` echo "$line" echo "$line">&3 done exec 3>&-
练习4
传递两个整数给脚本,让脚本分别计算并显示这两个整数的和,差,积,商
#!/bin/bash echo "输入的第一个数为$1" echo "输入的第二个数为$2" echo "二数之和为$[$1+$2]" echo "二数之差为$[$1-$2]" echo "二数之积为$[$1*$2]" echo "二数之商为$[$1/$2]"
练习5
创建目录/tmp/scripts,切换工作目录至此目录中,复制/etc/pam.d目录到当前目录,并改名为test,将当前目录的test及其里面的文件和子目录的属主改为redhat,将test及其子目录中的文件的其它用户权限改为没有任何权限
#!/bin/bash mkdir -v /tmp/scripts cd /tmp/scripts cp /etc/pam.d ./test chown -R redhat ./test chmod -R o=--- ./test
练习6
显示当前系统日期和时间,然后创建目录/tmp/lstest,切换工作目录至/tmp/lstest,创建目录a1d, b56e, 6test,创建空文件xy, x2y, 732,列出当前目录下以a, x或者6开头的文件或目录,列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录
#!/bin/bash date mkdir -v /tmp/lstest cd /tmp/lstest mkdir a1d b56e 6test touch xy x2y 732 ls [ax6]* ls [[:alpha:]][[:dight:]]*
这篇关于shell脚本编程练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南
- 2024-11-16RESTful接口资料详解:新手入门教程
- 2024-11-16Spring Boot资料:新手入门与初级教程
- 2024-11-16Springboot资料:新手入门与初级教程