linux中的if函数怎么用啊?

linux中的if函数怎么用啊?,第1张

题主你好,

我这边把你的代码敲了一遍, 没有出现你说的情况.

测试所用代码:

测试结果:

-----

另外, 昨天我和你说的那样改,也是没有问题的,代码及测试截图如下:

-----

-----扩展阅读-----

写在最后: 题主把你那边所用的系统以及代码运行截图发过来,我看一下.

另外关于shell语法这东西, 熟悉了也就好了,你之所以会生气是因为刚接触shell,怎么调都不和你心意,后期基本的语法都玩熟了,也就没这种想法了。 c语言其实也一样,如果没人告诉你语法,而是你自己去猜测,去试,碰一鼻子灰的时候也是现在写shell时的心态.

另外当你熟悉了一门语言后,再去接触其它语言,尤其是语法差异较大的语言,就会觉得很别扭,都是先入为主的思想弄的,反过来想,如果你一开始接触的是shell,可能现在就会觉得c很别扭。你现在可能觉得不是这样的,那是因为你现在会c语言.

所以我想说的是不管是啥语言,不管设计样,既然要用它,就静下心来,盘它就对了:)

=====

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

在shell中的条件判断语句格式为:

其中elif和else不是必须的,如果只需判断一次,那么if...fi即可。值得注意的是if后面中括号[]中的语句[的后面和]的前面必须要有空格。

下面通过判断大小和文件是否存在看一下判断语句的用法:

-gt 大于 (greater than);

-lt 小于(less than);

-eq 等于(equal);

-ne 不等于(not equal);

-ge 大于等于(greater equal)

-le 小于等于(less equal)。

题主你好,

先说作用再分析.

作用: 判断 != 两边的字符串是否不相等, 即判断"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中的说明了,下图是手册里的部分关于支持哪些判断的一个截图:

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

=====

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存