传统if 从句子——以条件表达式作为 if条件
if [ 条件表达式 ]
then
command
else
command
fi
#条件表达式有以下3种:
#文件表达式
if [ -f file ] 如果文件存在
if [ -d ... ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
#整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
#字符串变量表达式
If [ $a = $b ] 如果string1等于string2
字符串允许使用赋值号做等号
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空,返回0 (和-n类似)
#以下是if+命令的简单使用
if command 等价于 command+if $?
$ vi testsh.sh
#!/bin/sh
if cat 111-tmp.txt | grep ting1
then
echo found
else
echo "no found"
fi
$ vi testsh.sh
#!/bin/sh
cat 111-tmp.txt | grep ting1
#以下$?的值均来自上面命令的最终执行结果
if [ $? -eq 0 ]
then
echo $?
echo found
else
echo $?
echo "no found"
fi
Shell编程之if
最新推荐文章于 2024-09-19 15:54:55 发布