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)

相关推荐

  • ASP.NET数据库连接的实例分析

    技术ASP.NET数据库连接的实例分析这篇文章给大家介绍ASP.NET数据库连接的实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。ASP.NET数据库连接实例展现: using System;

    攻略 2021年12月1日
  • css3动画图片旋转效果(css3动画的初始旋转角度)

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

    攻略 2021年12月16日
  • 如何判断回文链表

    技术如何判断回文链表 如何判断回文链表https://labuladong.gitee.io/algo/2/17/19/读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:

    礼包 2021年11月12日
  • 最新单机游戏排行榜,十大好玩的单机游戏有哪些

    技术最新单机游戏排行榜,十大好玩的单机游戏有哪些人人心中都有一个武侠江湖梦推荐几款高品质的武侠单机游戏最新单机游戏排行榜!对于国产单机游戏来说,2020年是一个国产单机大作云集的年度,其中尤以武侠类为甚,口碑爆棚的《天地

    生活 2021年10月26日
  • 转载:Promise输出题10道 加强理解

    技术转载:Promise输出题10道 加强理解 转载:Promise输出题10道 加强理解1.const promise = new Promise((resolve, reject) = {conso

    礼包 2021年10月20日
  • java中什么方法名是程序的入口(java中使用什么关键字定义类)

    技术Java线型代数的核心是什么本篇内容介绍了“Java线型代数的核心是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

    攻略 2021年12月21日