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)

相关推荐

  • 草木灰是什么,草木灰都有什么化学成分

    技术草木灰是什么,草木灰都有什么化学成分草木灰都有什么化学成分?要回答这个问题,得弄懂如下几个问题草木灰是什么。1、什么叫草木灰?2、草木灰的化学成分;3、草木灰的性质是什么?4、如何使用草木灰?
    一、什么叫草木灰?草木

    生活 2021年10月23日
  • 如何解决win7注册表损坏导致无法引导启动问题

    技术如何解决win7注册表损坏导致无法引导启动问题这篇文章给大家分享的是有关如何解决win7注册表损坏导致无法引导启动问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。系统注册表损坏,用U盘启

    攻略 2021年11月17日
  • 如何使用Angular JS + Express JS入门搭建网站

    技术如何使用Angular JS + Express JS入门搭建网站这期内容当中小编将会给大家带来有关如何使用Angular JS + Express JS入门搭建网站,文章内容丰富且以专业的角度为大家分析和叙述,阅读

    攻略 2021年10月29日
  • LEARNING INVARIANT REPRESENTATIONS FOR REINFORCEMENT LEARNING WITHOUT RECONSTRUCTION

    技术LEARNING INVARIANT REPRESENTATIONS FOR REINFORCEMENT LEARNING WITHOUT RECONSTRUCTION LEARNING INVAR

    礼包 2021年11月1日
  • 如何进行SpringMVC中ModelAndView的分析

    技术如何进行SpringMVC中ModelAndView的分析如何进行SpringMVC中ModelAndView的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简

    攻略 2021年12月2日
  • 树莓派如何安装Samba实现和Windows共享

    技术树莓派如何安装Samba实现和Windows共享这篇文章将为大家详细讲解有关树莓派如何安装Samba实现和Windows共享,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。创建Sam

    攻略 2021年11月20日