-
#!/bin/bash read -t 30 -p "Please input a file name:" file if [ -z "$file" ] then echo "Error, please input a file name!" exit 11 elif [ ! -e "$file" ] then echo "Your input is not a file name!" exit 22 elif [ -f "$file" ] then echo "$file is a regular file!" elif [ -d "$file" ] then echo "$file is a directory !" else echo "$file is another file!" fi查看全部
-
#!/bin/bash read -t 30 -p "Please input num1: " num1 read -t 30 -p "Please input num2: " num2 #通过 read -t 30 -p "Please input a operator: " ope #通过 if [ -n "$num1" -a -n "$num2" -a -n "$ope" ] #第一层判断 then test1=$(echo $num1 sed 's/[0-9]//g') test2=$(echo $num2 sed 's/[0-9]//g') if [ -z "$test1" -a -z "$test2" ] #第二层判断,用来判断num1和num2的值为数值 #如果test1和test2的值为空,则证明num1和num2为数字 then #如果num1和num2为数字,则执行以下命令 if [ "$ope" == '+' ] #第三层判断用来确认运算符,测试变量$ope中是什么运算符 then sum=$(($num1 + $num2 )) elif [ "$ope" == '-' ] then sum=$(($num1 - $num2)) elif [ "$ope" == '*' ] then sum=$(($num1 * $num2)) elif [ "ope" == '/' ] then sum=$(($num1 / $num2)) else echo "Please enter a valid symbol!" #如果运算符不匹配,提示输入有效的符号 exit 10 #并退出程序,返回错误代码10。通过echo $?查看 fi else echo "Please enter a valid value!" #如果test1和test2的值不为空,则说明num1和num2不是数字 exit 11 #并退出程序,返回错误代码11 fi fi echo "$num1 $ope $num2 = $sum" #输出数值运算结果查看全部
-
#判断apache服务是否启动 test=$(ps aux | grep httpd | grep -v grep) #定义变量test 并且查找是否启动apache的结果赋值给test #ps aux 查看当前所有正在运行的进程 #grep httpd 过滤出apache进程 #grep -v grep 去掉包含grep的进程 -v 取反 if [ -n "$test" ] #判断test是否为空 then #如果不为空则执行这段程序 把结果写入/tmp/autostart-acc.log 中 echo " $(date) httpd is ok " >> /tmp/autostart-acc.log else #如果为空这执行这段程序 #首先启动httpd服务 systemctl start httpd.service #然后把事件记录在错误日志中 echo " $(date) httpd is no \n httpd is autostart now" >> /tmp/autostart-err.log fi 注意不要把文件名设置成有httpd的,命令执行过程会搜索到自身查看全部
-
#!/bin/bash read -t 30 -p "please input a dir:" dir if [ -d "$dir" ] then echo "aaaaaaa" else echo "bbbbbbbbbb" fi查看全部
-
#!/bin/bash test=$(df -h grep xvda1 awk '{print $5}' cut -d "%" -f 1 ) if [ "$test" -ge "90" ] then echo "fen qu shi yong da yv 90" fi查看全部
-
单分支条件语句注意事项 env可以查看环境变量 #!/bin/bash test=$(env grep USER cut -d "=" -f 2) if [ "$test"=="root" ] then echo "shi root" fi查看全部
-
判断1 -a 判断2:逻辑与,判断1和判断2都成立,最终结果为真 判断1 -o 判断2:逻辑或,判断1和判断2有一个成立,最终结果为真 !判断:逻辑非,是原始的判断式取反查看全部
-
字符串判断 -z 字符串 #判断是否为空,为空返回真 -n 字符串 #判断是否为非空,非空返回真 字符串1 = = 字符串2 #判断字符串是否相等,相等返回真 字符串1 != 字符串2 #判断字符串是否不等,不等返回真查看全部
-
num1 -eq num2:判断整数1是否和整数2相等 num1 -ne num2:判断整数1是否和整数2不相等 num1 -gt num2:判断整数1是否大于整数2 num1 -lt num2:判断整数1是否小于整数2 num1 -ge num2:判断整数1是否大于或等于整数2 num1 -le num2:判断整数1是否小于或等于整数2查看全部
-
file1 -nt file2:判断文件1的修改时间是否比文件2的新 file1 -ot file2:判断文件1的修改时间是否比文件2的旧 file1 -ef file2:判断文件1是否比文件2的Inode号一致,可以理解为两个文件是否为同一个文件。 ln /root/student.txt /tmp/stu.txt #创建硬链接查看全部
-
-r:判断该文件是否存在,并且是否该文件拥有读权限 -w:判断该文件是否存在,并且是否该文件拥有写权限 -x:判断该文件是否存在,并且是否该文件拥有执行权限 -u:判断该文件是否存在,并且是否该文件拥有SUID权限 -g:判断该文件是否存在,并且是否该文件拥有SGID权限 -k:判断该文件是否存在,并且是否该文件拥有SBit权限查看全部
-
1.判断文件类型,常用的3个: -d 判断该文件是否存在,并且是否为目录文件(是目录为真) -e 判断该文件是否存在 (存在为真) -f 判断该文件是否存在,并且是否为普通文件(是普通文件为真) 例如: [ -e /root/install.log ] 然后 echo $? 若返回非零则说明文件存在 [ -e /root/install.log ] && echo yes echo no查看全部
-
sacacscsc查看全部
-
按照文件类型查看全部
-
zhenshubijiao查看全部
举报
0/150
提交
取消