BASH初学者指南 - 比较事物
在BASH教程的前一部分中,我们研究了条件语句。
该指南很长,但实际上只展示了如何控制逻辑流程。本指南显示了比较变量的不同方法。
上图显示了本周指南中的第一个示例:
#!/斌/庆典NAME1 = “加里”NAME2 = “鲍勃”if “$ name1”=“$ name2”然后 回声“名字匹配”其他 回声“名字不匹配”科幻在上面的脚本中,我定义了两个名为name1和name2的变量,并为它们赋值“gary”和“bob”。由于变量包含在引号之间,因此它们被称为字符串变量,随着教程的继续而变得更加相关。 所有脚本都比较$ name1和$ name2的值,如果它们匹配输出字符串“名称匹配”,如果它们不输出字符串“名称不匹配”。 $ name1和$ name2变量周围的引号很重要,因为如果没有设置其中任何一个的值,那么脚本仍然可以工作。 例如,如果$ name1从未设置过,那么你将比较“”和“bob”。没有引号,你会留下=“bob”,这显然是失败的。 您还可以使用!=表示法定义不等于如下: 在上面的例子中,测试比较了相同的两个字符串,并询问问题是否在字母表中的bob之前出现? 显然答案是否定的。 该脚本引入了less运算符(<)。由于小于运算符也用于重定向,你必须用斜杠()来转义它,这意味着小于上面脚本中为什么我比较“$ name1” <“$ name2”。 小于的相反明显大于。而不是使用 <use >。 例如 如果要测试变量是否具有值,可以使用以下测试: 在上面的脚本中,我测试了$ name2是否已被赋予一个值,如果它没有消息“没有bob,则从未出现过bob”。 在过去的幻灯片中,我们介绍了是否已设置变量。有时虽然可能已设置变量但实际上可能没有值。 例如: 要测试变量是否具有值(即长度为零),请使用-z,如下所示: 在上面的脚本中,我将$ name1设置为零长度字符串,然后使用-z进行比较。如果$ name1的长度为零,则会显示“gary已经晚上出去”的消息。 到目前为止,所有的比较都是针对字符串的。比较数字怎么样? 上面的脚本显示了比较两个数字的示例: 要将变量设置为数字,只需将其设置为不带引号。然后,您可以使用等号比较数字。 但我更喜欢使用以下运算符来比较两个数字: 如果要比较数字是否小于另一个数字,可以使用小于运算符(<)。与字符串一样,您必须使用斜杠转义小于运算符。 ( <)。 比较数字的更好方法是使用以下符号: 例如: 最后,对于本指南,如果要测试两个数字是否不同,可以使用小于和大于运算符(<>)或-ne,如下所示: 如果您错过了本指南的前三部分,可以通过单击以下链接找到它们: 在本指南的下一部分中,我将介绍算术。 BASH初学者指南 - 比较字符串
BASH初学者指南 - 比较字符串
BASH初学者指南 - 比较字符串
BASH初学者指南 - 比较数字
BASH初学者指南 - 比较数字
BASH初学者指南 - 比较数字
BASH初学者指南 - 比较运算符 - 摘要