linux里面if [ “result” != “ “ ]判断作用是什么?

linux里面if [ “result” != “ “ ]判断作用是什么?,第1张

题主你好,

先说作用再分析.

作用: 判断 != 两边的字符串是否不相等, 即判断"result"" "是否不相等.

但是光说作用了,其实对于实际使用还是没有太大帮助.

-----

分析:

上面是shell脚本中,if表达式的一个最基本的结构,3个红框框选的部分是if表达式中必须要有的语法规定的部分.

条件表达式中间一堆语句 是我们要自定义的.

而意思也很好理解, 当 条件表达式 成立,则执行中间那一堆语句.

而条件表达式部分,一般是使用test命令来实现,你代码中的[]其实是test命令的一种表现形式,也就是说:

if test "result" != " "  与 if [ "result" != " " ] 它俩是一个玩意儿.

-----

所以为了好理解,我们就用第一种形式,if test "result" != " ",去理解.

test是测试的意思, 测试的是啥呢? 就是test后面的  "result" 与  " "是否 !=,而 !=表示不相等,因此测试的是"result" 与 " " 是否不相等,如果不相等则成立,就会执行if语句块了,而就题主问题中的if [ "result" != " " ],肯定是成立的,因此相应if语句块也会被执行.

-----

再举一个小例子,题主可以试一下:

执行之后,题主可以将"b"换成"a",再执行一下看看应该什么都不会输出,因为"a" != "a"这个条件不成立,所以不会执行相应的echo语句.

-----

扩展阅读:

具体test都能判断哪些条件呢?具体要看一下man test中的说明了,下图是手册里的部分关于支持哪些判断的一个截图:

截图中红框框选的就是本题中用到的!=,用来判断两个字符串是否不相等.

=====

希望可以帮到题主, 欢迎追问.

准确来说是判断变量的值相等

shell脚本语言不是像C那样的强类型语言(数据类型分得很细), 基本上值是以字符串存储的,也支持整数

$a=$b 可以认为是判断 字符串值相等


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8760311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存