在Linux中否定Bash脚本中的if条件

在Linux中否定Bash脚本中的if条件

要否定Linux中Bash脚本中的 “if “条件,你可以使用”!”操作符。例如,如果你有一个检查变量 “x “是否等于5的 “if “语句,你可以用if [ !$ x -eq 5 ]来否定这个条件。如果条件不对(即如果 “x “不等于5),这将运行 “if “块内的命令。

整数比较

在Bash中,你可以使用下列运算符来比较整数 –

  • eq (equal to)

  • ne (not equal to)

  • gt (greater than)

  • ge (greater than or equal to)

  • lt (less than)

  • le (less than or equal to)

例如,你可以使用”-eq “操作符来检查变量 “x “是否等于5 –

if [ $x -eq 5 ]
then
   echo "x is equal to 5"
fi

你也可以使用”-ne “运算符来检查变量 “x “是否不等于5–。

if [ $x -ne 5 ]
then
   echo "x is not equal to 5"
fi

你可以类似地使用其他比较运算符。

请注意,方括号和比较运算符周围的空格很重要,当你用字符串进行比较时,变量必须用双引号括起来。

字符串比较

在Bash中,你可以使用下列运算符来比较字符串 –

  • = (equal to)

  • != (not equal to)

  • -z (string is empty)

  • -n (string is not empty)

例如,你可以使用”=”运算符来检查变量 “s “是否等于 “hello”-

if [ "$s" = "hello" ]
then
   echo "s is equal to hello"
fi

你也可以使用”!=”操作符来检查变量 “s “是否不等于 “hello”-

if [ "$s" != "hello" ]
then
   echo "s is not equal to hello"
fi

你也可以使用”-z “运算符来检查一个字符串是否为空 –

if [ -z "$s" ]
then
   echo "s is an empty string"
fi

你可以使用”-n “操作符来检查一个字符串是否为空 –

if [ -n "$s" ]
then
   echo "s is not an empty string"
fi

请注意,方括号和比较运算符周围的空格很重要,而且变量必须用双引号括起来。

Negation

在Bash中,你可以用”!”操作符来否定一个条件。

例如,你可以用”!”来否定一个变量 “x “等于5的比较。-

if [ ! "$x" -eq 5 ]
then
   echo "x is not equal to 5"
fi

你也可以用”!”来否定一个字符串的比较。-

if [ ! "$s" = "hello" ]
then
   echo "s is not equal to hello"
fi

你可以用”!”运算符来否定任何命令或条件的结果。

此外,你可以使用双重否定来达到同样的效果,像这样—

if [[ "$x" != 5 ]]
then
   echo "x is not equal to 5"
fi

还值得注意的是,你可以使用[[...]]代替[…]`进行字符串和数字的比较。它更具有可读性和灵活性。

请注意,方括号和比较运算符周围的空格很重要,而且变量必须用双引号括起来。

结论

在Bash中,你可以使用不同的比较运算符来检查平等、不平等、大于、小于和其他条件。这些运算符可以用于包含整数或字符串的变量。此外,你可以使用”!”运算符来否定一个条件,以检查它是否为假。[[...]]也是检查条件的一种方式,而且更具有可读性和灵活性。需要注意的是,方括号和比较运算符周围的空格很重要,当你用字符串进行比较时,变量必须用双引号括起来。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Linux 基础