UFSの備忘録 % Home / Categories

shell语法备忘

Created 2022-05-28 / Updated 2022-11-25

一、if语句

if [ ... ]; then
    ...
elif [ ... ]; then
    ...
else
    ...
fi

文件/目录判断:

[ -d ... ]:目录存在则为真

[ -e ... ]:文件存在则为真

[ -f ... ]:文件存在且为普通文件则为真

字符串判断:

(字符串变量最好加上引号,以免判断错误)

[ -z STR ]:字符串为空则为真

[ -n STR ]:字符串非空则为真

[ STR1 == STR2 ]:字符串相等则为真,==也可写成=

[ STR1 != STR2 ]:字符串不等则为真

数值判断:

[ INT1 -eq INT2 ]:两数相等则为真

[ INT1 -ne INT2 ]:两数不等则为真

[ INT1 -gt INT2 ]:大于

[ INT1 -ge INT2 ]:大于等于

[ INT1 -lt INT2 ]:小于

[ INT1 -le INT2 ]:小于等于

二、for循环

for i in 1 2 3
do
    ...
done

三、case语句

case ... in
    aaa)
        ...
        ;;
    bbb|ccc)
        ...
        ;;
    [abc])
        ...
        ;;
    [0-9a-zA-Z])
        ...
        ;;
    *)
        ...
        ;;
esac
Categories: [shells]