管道、状态码、循环
管道
退出状态码
状态码返回值为0~255,0 是正确,非0是错误。
返回上一条指令执行的状态码: echo $?
过滤进程
ps -ef | grep nginx | grep -v grep
把过滤的那条也过滤掉
if_else_then
#!/bin/bash
#
# ;then是为了整齐
# &>/dev/null 丢到垃圾箱里
if ps -ef | grep mysqld | grep -v grep &>/dev/null;then
echo "MySQL is running"
else
echo "MySQL is STOPPED"
fi
数值比较
#!/bin/bash # #注意这里[]前后必须有空格 if [ $1 -eq $2 ];then echo "$1 = $2" elif [ $1 -gt $2 ];then echo "$1 > $2" elif [ $1 -lt $2 ];then echo "$1 < $2" fi
字符串比较
#!/bin/bash # var1="hello" var2="world"
#因为 这里的 < 是重定向 if [ $var1 \< $var2 ];then echo "<" else echo ">" fi
判断字符串是否为空
#!/bin/bash # var1="" var2="world" if [ -n "$var1" ];then echo "not null" else echo "null" fi