bash shell的if语句详解

6月 8, 2020 |

if [ -e /etc/passwd ]; then
echo "javacoder.cn"
fi

if xxx; then xxx fi 在文档中是"Conditional Constructs" 条件结构
[ -e /etc/passwd ]; 等同于 test -e /etc/passwd ; 是shell conditional expression Evaluation ";"是必须的。exit status =0 为true
[] 支持! -a -o 逻辑运算符
conditional expression 支持文件的单目运算符,比如"-e /etc/passwd"判断文件是否存在,"-lt, -gt"两个数值是否小于,大于。
((2<11))用于评估算术表达式

 

if [ '2' \> '11' ]; then echo "javacoder.cn"; fi //默认[中的<按重定向符处理
if [ '2' -gt '11' ]; then echo "javacoder.cn"; fi //按数值比较
if [[ '2' > '11' ]]; then echo "javacoder.cn"; fi
x='a b'; [ "$x" = 'a b' ]: POSIX equivalent //变量扩展后需要添加引号
[ a = a ] && [ b = b ] and 操作[Lists of Commands]

Posted in: Linux

Comments are closed.