Shell中括号用法总结

技术Shell中括号用法总结 Shell中括号用法总结Shell 里面的中括号(包括单中括号与双中括号)可用于一些条件的测试:算术比较, 比如一个变量是否为0,[ $var -eq 0 ]。
文件属性测

壳牌支架使用总结

外壳内的支架(包括单支架和双支架)可用于测试某些条件:

算术比较,例如变量是否为0,[ $var -eq 0]。

属性测试,如文件是否存在,[-e $var],是否是目录,[-d $var]。

字符串比较,例如两个字符串是否相同,[[ $var1=$var2 ]]。

[]您可以经常使用test命令。

算术比较

变量或值的算术条件判断:

[$var -eq 0] #当$var等于0时返回true。

[$var -ne 0] #当$var不等于0时返回true。

需要注意的是,[and]和操作数之间必须有空格,否则会报错。例如,下面将报告错误:

[$var -eq 0]或[$var -ne 0]

其他比较运算符:

操作员

意义

-gt

比.多/大

-中尉

不到

通用电气

大于或等于

表示器具名称:bridle thimble

小于或等于

您可以结合多种条件使用-a(和)或-o(或)进行测试:

[$var1 -ne 0 -a $var2 -gt 2] #使用逻辑和-a

[$var1 -ne 0 -o $var2 -gt 2] #使用逻辑or -o

文件系统属性测试

使用不同的条件标志测试不同的文件系统属性。

操作员

意义

[ -f $file_var ]

如果变量$file_var是正常的文件路径或文件名,则该变量返回true。

[ -x $var ]

变量$var包含一个执行文件,该文件返回true。

[ -d $var ]

如果变量$var包含的文件是目录,则该变量返回true。

[ -e $var ]

如果变量$var包含的文件存在,则该变量返回true。

[ -c $var ]

变量$var包含一个文件,该文件是字符设备文件的路径,并返回true。

[ -b $var ]

如果变量$var中包含的文件是块设备文件的路径,则返回true。

[ -w $var ]

变量$var包含一个可以写的文件,然后返回true。

[ -r $var ]

变量$var包含一个可读的文件,然后返回true。

[ -L $var ]

如果变量$var包含符号链接,则返回true。

使用如下:

fpath='/etc/passwd '

if[-e $ fpath];然后

回声文件退出;

其他

回声不存在;

船方不负担装货费用

字符串比较

比较字符串时,最好使用双括号[[]]。因为单个括号可能会导致一些错误,所以最好避免它们。检查两个字符串是否相同:

[[ $str1=$str2 ]]

当str1等于str1等于str2时返回true。也就是说,str1和str2包含相同的文本。的单等号也可以写成双等号,也就是说上面的字符串相当于[[$ str1=$ str2]]。注=前后各有一个空格。如果您忘记添加空格,它将变成赋值语句,而不是比较关系。

字符串的其他比较:

操作员

意义

[[ $str1!=$str2 ]]

如果str1和str2不相同,则返回true。

[[ -z $str1 ]]

如果str1是空字符串,则为True。

[[ -n $str1 ]]

如果str1是非空字符串,则为True。

使用逻辑运算符和|||可以轻松组合多个条件,例如:

str1='非空'

str2=' '

if[[-n $ str 1]][-z $ str 2]];

然后

echo str1是非空的,str2是空字符串。

船方不负担装货费用

测试命令也不能执行条件检测。使用test可以避免使用过多的括号,[]中的测试条件也可以通过test来完成。

if[$ var-eq 0];然后呼应“真”;船方不负担装货费用

相当于:

if测试$ var-eq 0;然后呼应“真”;船方不负担装货费用

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/136277.html

(0)

相关推荐

  • mysql入门基础知识点有哪些

    技术mysql入门基础知识点有哪些本篇内容介绍了“mysql入门基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年12月3日
  • 如何理解MQTT协议及协议原理

    技术如何理解MQTT协议及协议原理这篇文章给大家介绍如何理解MQTT协议及协议原理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MQTT协议MQTT协议全称是Message Queuing Tele

    攻略 2021年11月23日
  • 盘点服装设计所经常性使用的软件-----ET,中篇)

    技术盘点服装设计所经常性使用的软件-----ET,中篇) 盘点服装设计所经常性使用的软件-----ET(中篇)大家好,我是IT共享者,人称皮皮。
    前言
    今天要跟大家介绍的是关于服装设计所经常性使用的软件

    礼包 2021年11月1日
  • 饮料瓶,饮料瓶为什么是圆柱形的

    技术饮料瓶,饮料瓶为什么是圆柱形的1.从安全角度考虑饮料瓶,圆柱体没有凸起部分,由于酒瓶是用玻璃制成,所以很容易造成意外伤害,做成圆柱体,会使整体比较圆滑,不容易划伤人。2.从容量方面考虑,当高度一定时,底面积是圆的物体

    生活 2021年10月21日
  • 徒以有先生也的以是什么意思,长跪而谢之中的而是什么意思

    技术徒以有先生也的以是什么意思,长跪而谢之中的而是什么意思1徒以有先生也的以是什么意思、而,承接词,然后2、整句意思是:直身而跪向唐雎道歉说。3、出自西汉刘向《唐雎不辱使命》,原文选段:唐雎曰:“此庸夫之怒也,非士之怒也

    生活 2021年10月23日
  • 基于App SDK和API搭建无人自习室等无人场景有哪些

    技术基于App SDK和API搭建无人自习室等无人场景有哪些本篇文章给大家分享的是有关基于App SDK和API搭建无人自习室等无人场景有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,

    攻略 2021年12月10日