-
例子:判断用书输入的是什么文件
#!/bin/bash
read -p "Please input a filename :" file
if [-z "$file" ]
#判断file变量是否为空
then
echo " Error,please input a filename"
exit 1
#对于多分之判断语句,如果第一个不成立,接着判断第二个,所以这里要加exit,第一个都是空了,不成了了,直接让他退出
elif [ ! -e "$file" ]
#判断file的值是否存在 -e判断文件是否存在,存在则为真
then
echo "Your input is not a file !"
exit 2
elif [ -f "$file" ]
#判断file的值是否为普通文件,-f判断文件是否存在,并且是否为普通 文件
then
echo "$file is a regulare file!"
elif[ -d "$file" ]
#判断file的值是否为目录文件,-d判断文件是否存在,并且是否为目录 文件
then
echo "file is a directory!'
else
echo "file is other file!"
fi
查看全部 -
#!/bin/bash/
#字符界面加减乘除计算器
read -t 30 -p "Please input num1:" num1
read -t 30-p "Please input num2:" num2
#通过read命令接收要计算的数值,并赋予变量num1和num2
read -t 30 -p "Please input a operator :" ope
#通过read命令接收要计算的符号,并赋予变量ope
if [-n "$num1" -a -n "num2" -a -n "$ope" ]
#第一层判断,用来判断num1和num2,ope中都有值 -a表示多条件判断,都为真是才为真
then
test1=$(echo $num1 | sed 's/[0-9]//g']
test1=$(echo $num2 | sed 's/[0-9]//g']
#定义变量test1和test2的值为¥(命令)的结果
#后续sed命令 s表示替换,把0-9替换为空,g的意思是都替换,整个命令作用是把变量test1的值替换为空,如果能替换为空,证明num1的值是数字
#如果不能替换为空,证明num1的值为非数字。我们用这种方法判断变量num1的值为数字,用同样的方法测试test2
if [ -z "$test1" -a -z "$test2" ]
#第二层判断,用来判断num1和num2位数值,-z表示为空则返回真
#如果变量test1和test2为空,则证明num1和num2是数字
then
#如果test1和test2是数字,则执行以下命令
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
fi
else
#如果test1和test2不为空,说明tnum1和num2不是数字
echo "Please enter a valid value"
#提示输入有效的数值
exit 11
#并退出程序。返回错误代码 11
fi
else
echo "请输入内容,不能为空”
exit 12
#退出程序,犯会错误代码12
#若输入为空,则提示
fi
echo “$num1 $ope $num2 : $sum”
#输出数值运算的结果
#看返回值用 echo $?
查看全部 -
#!/bin/bash/
#字符界面加减乘除计算器
read -t 30 -p "Please input num1:" num1
read -t 30-p "Please input num2:" num2
#通过read命令接收要计算的数值,并赋予变量num1和num2
read -t 30 -p "Please input a operator :" ope
#通过read命令接收要计算的符号,并赋予变量ope
if [-n "$num1" -a -n "num2" -a -n "$ope" ]
#第一层判断,用来判断num1和num2,ope中都有值 -a表示多条件判断,都为真是才为真
then
test1=$(echo $num1 | sed 's/[0-9]//g']
test1=$(echo $num2 | sed 's/[0-9]//g']
#定义变量test1和test2的值为¥(命令)的结果
#后续sed命令 s表示替换,把0-9替换为空,g的意思是都替换,整个命令作用是把变量test1的值替换为空,如果能替换为空,证明num1的值是数字
#如果不能替换为空,证明num1的值为非数字。我们用这种方法判断变量num1的值为数字,用同样的方法测试test2
if [ -z "$test1" -a -z "$test2" ]
#第二层判断,用来判断num1和num2位数值,-z表示为空则返回真
#如果变量test1和test2为空,则证明num1和num2是数字
then
#如果test1和test2是数字,则执行以下命令
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
fi
else
#如果test1和test2不为空,说明tnum1和num2不是数字
echo "Please enter a valid value"
#提示输入有效的数值
exit 11
#并退出程序。返回错误代码 11
fi
else
echo "请输入内容,不能为空”
exit 12
#退出程序,犯会错误代码12
#若输入为空,则提示
fi
echo “$num1 $ope $num2 : $sum”
#输出数值运算的结果
#看返回值用 echo $?
查看全部 -
写一个计算器脚本
查看全部 -
例子:判断apache是否启动
查看全部 -
ps aux 累死任务管理器,查看当前正在运行的程序
查看全部 -
例子3: 输入一个字符串,判断是不是目录
#!/bin/bash
read -t 30 -p "Please input a dir:" dir
if [-d "$dir" ]
then
echo "shi mu lu"
else
echo "no no no"
fi
查看全部 -
例子2:
#/bin/bash/
rate=$(df -h | grep "sda5" | awk '{print $5}' | cut -d "%" -f1)
if [$rate -ge 80 ]
then
echo "warning"
fi
df -h查看分区,从中用grep行查询找出有sda5的那一行,因为这里是用空格作为分隔符,所以不能用cut,用awk print找到第5列,这时找到11%,然后%作为分隔符,列查询第一列找到11,赋值给rate,然后rate 用 -ge判断是不是大于80,若大于,则输出警告
查看全部 -
例子:
#/bin/bash
test=$(env | grep USER | cut -d "=" f 2) //先执行env命令,然后用grep从中找到USER,在列查询用=作为分隔符,选取第二列,把这个值赋值给test
if [ "$test"=="root" ]
then
echo "dang qian shi root"
//判断test值是否和root相等,相等则输出“...”
fi
查看全部 -
多重条件判断
查看全部 -
记得加“”
查看全部 -
按照文件权限进行判断
查看全部 -
按照文件类型判断
查看全部 -
判断文件是否存在
查看全部 -
sed 复习
sed ‘[操作方式]/[旧字符]/[新字符]/g’
#/g 替换所有的“旧字符”
sed ‘s/[0-9]//g’test.txt #把所有的数字替换为空。
查看全部
举报