shell练习题
-
使用for循环在/oldboy目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件。把上面创建的文件oldboy字符串改为oldgirl
dir=/oldboy [ -d "$dir" ] || mkdir -p $dir for n in {1..10} do name=`tr -cd 'a-zA-Z' </dev/urandom |head -c10` touch $dir/${name}_oldboy.html done cd $dir for i in `ls` do a=`echo $i|cut -c 1-10` mv ${a}_oldboy.html ${a}_oldgirl.HTML done 产生随机数 echo $RANDOM|md5sum|cut -c'1-8';echo
.统计下面这句话中字母数不大于6的单词(至少两种方式)
I am oldboy teacher welcome to oldboy training class. [root@shell ~]# echo I am oldboy teacher welcome to oldboy training class|awk '{for(i=1;i<=NF;i++){if (length($i)<=6) {print $i}}}' I am oldboy to oldboy class
-
计算从1加到100之和
[root@shell scripts]# cat sum.sh a=1 while [ $a -le 100 ] do sum=$[ $sum+$a ] let a++ done echo $sum
脚本批量创建10个用户,密码统一为123,需要对用户输入是否为数字和输入的名字是否为空做判断
[root@shell scripts]#cat user1.sh #!/bin/bash passwd=123 while true do read -p "请输入用户名前缀: " prefix if [ -z $prefix ]; then echo "用户名前缀不能为空!" else break fi done while true do read -p "请输入需要创建用户数量: " num if [[ ! $num =~ ^[1-9][0-9]?$ ]]; then echo "请输入不为零的整数!" else break fi done for i in `seq $num` do user=$prefix$i id $user &>/dev/null if [ $? -eq 0 ]; then echo "用户oldboy${i}已经存在!" else useradd $user && echo $passwd | passwd --stdin $user &>/dev/null if [ $? -eq 0 ]; then echo "密码创建成功!" else echo "密码创建失败!" fi fi done 创建随机密码: for n in `seq -w 10` do useradd user$n;echo "user$n `user$n|md5sum|cut-c1-8`"|passwd --stdin user$n done
很高兴各位朋友能欣赏作品,本文版权归作者和博客园共有,欢迎转载,请在文章页面明显位置给出原文出处,否则将追究法律责任。 原文链接: https://www.cnblogs.com/strugger-0316