-
字符串的判断查看全部
-
两个文件之间进行比较条件查看全部
-
按照文件权限进行判断查看全部
-
按文件类型进行判断查看全部
-
按照文件类型进行判断查看全部
-
批量添加用户查看全部
-
例6.判断用户输入的是什么文件 #!/bin/bash #判断用户输入的是什么文件 read -p "Please input a filename: " file #接收键盘的输入,并赋予变量file if [ -z "$file" ] #判断file变量是否为空 then echo "错误,请输入一个文件名!" exit 1 elif [ ! -e "$file" ] #判断file的值是否存在 then echo "您输入的不是一个文件名!" exit 2 elif [ -f "$file" ] then echo "$file 是一个普通文件。" elif [ -d "$file" ] then echo "$file 是一个目录文件。" else echo "$file 是一个其他文件(硬链接等)。" fi 4.多分支case语句 语法: case $变量 in "值") 程序1 ;; "值") 程序2 ;; *) 程序3 ;; 例7.判断用户输入 #!/bin/bash read -p "Please input yes/no: " -t 30 choose case $choose in "yes") echo "Your choose is yes." ;; "no") echo "Your choose is no." ;; *) echo "Your choose is error, please choose yes or no." ;; esac 5.for语句 for 变量 in 值1 值2 值3... do 程序 done 例8. #!/bin/bash #批量解压缩文件 cd /root/test/ ls *.tar.gz > ls.log #将所有.tar.gz 结尾的文件名输出到ls.log文件中,并覆盖原有文件名 ls *.tgz >> ls.log #将.tgz结尾的文件追加到ls.log文件中 for i in $(cat ls.log) do tar -zxf $i &> /dev/null #将所有的输出结果都输出到/dev/null回收站中,不显示任何输出 done rm -rf ls.log查看全部
-
例9.加法运算 #!/bin/bash #从1加到100 s=0 for(( i=1;i<=100;i=i+1 )) #注意,运算需要加到()中,而且shell中没有++,--这种写法 do s=$(( $s+$i )) done echo " 1+2+...+100 = $s " 例10 #!/bin/bash #批量添加指定数量的用户 read -p "Please input user name: " -t 30 name read -p "Please input the number of users: " -t 30 num read -p "Please input the password of users: " -t 30 pass if [ ! -z "$name" -a ! -z "$num" -a ! -z "$pass" ] then y=$(echo $num sed 's/[0-9]//g') if [ -z "$y" ] then for (( i=1;i<=$num;i=i+1 )) do /usr/sbin/useradd $name$i &>/dev/null echo $pass /usr/bin/passwd --stdin $name$i &>/dev/null #将useradd改为userdel,同时删掉添加密码这句就是删除用户 done fi fi 检验:cat /etc/passwd 普通用户跟其他用户的区别:普通用户可以登录/bin/bash,而其他用户为/sbin/nologin 提取出系统的普通用户:cat /etc/passwd grep /bin/bash grep -v root cut -d ":" -f1查看全部
-
例11.删除系统中的普通用户 #!/bin/bash for i in $(cat /etc/passwd grep /bin/bash grep -v root cut -d ":" -f1) do userdel -r $i done 6.while循环和until循环 while循环 --> 条件成立才循环,条件不成立即停止循环 例12. #!/bin/bash i=1 s=0 while [ $i -le 100 ] do s=$(( $s+$i )) i=$(( $i+1 )) done echo $s until循环和while循环相反,until为条件不成立时候循环并执行程序,一旦循环条件成立,则终止循环 上式换为until即为: #!/bin/bash i=1 s=0 until [ $i -gt 100 ] #循环直到变量i大于100,就停止循环 do s=$(( $s+$i )) i=$(( $i+1 )) done echo "The sum is: $s." 其他shell脚本: vi /etc/rc.d/init.d/httpd查看全部
-
until查看全部
-
while查看全部
-
2、批量删除非ROOT用户查看全部
-
1、批量添加指定数量的用户查看全部
-
源代码(批量解压缩包)<br> <br> #!/bin/bash cd /root/test ls *.tar.gz > ls.log(>覆盖) ls *.tgz >> ls.log(>>添加) for i in $(cat ls.log) do tar -zxvf $i & > /dev/null done rm -rf ls.log查看全部
-
#!/bin/bash read -t 30 -p "Please input yes/no:" cho case "$cho" in "yes") echo "You input yes!" ;; "no") echo "You input no!" ;; *) echo "Please input yes/no!" ;; esac查看全部
举报
0/150
提交
取消