暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

shell

原创 手机用户4952 2022-06-27
217

 预定义变量是shell中预先定义好的一些特殊变量,用户只能使用预定义变量,而不能自己创建新的预定义变量,也不能直接为预定义变量赋值。

  所有的预定义变量都是由“$”符合和另外一个符合组成的,其中最常用的预定义变量是$?,$?,用于检查上一条命令的执行状态,如果上一条命令正确执行了,那么$?的值为0,反之如果上一条命令未能正确执行,则$?的值可以是1-255之间的一个任意值。

  除了$?之外,另外比较常用的预定义变量还有$#、$0,它们表示的含义如下

  $#:表示命令行中位置参数的数量。

  $0:表示当前脚本的名称

整数值比较

 整数值比较是指根据给定的两个数值,判断第一个是否大于、等于、小于……第二个数,但是在用方括号进行整数值比较时,不能使用传统的=、><等比较符号,可以使用的整数值比较操作符主要有:

   -eq:等于

   -ne:不等于

   -gt:大于

   -lt:小于

   -le:小于等于

   -ge:大于等于

 

 

4.条件测试与比较

  注意:方括号的左右两侧与条件表达式之间至少需要有一个空格进行分隔。

1.      文件状态测试时指根据给定的路径名称,判断该名称对应的是文件还是目录,或者判断文件是否可读、可执行等,根据所判断的状态不同,在条件表达式中所需要使用不同的测试操作符。

-d:测试是否是目录

-f:测试是否为文件

-c:测试目录或文件是否存在

-r:测试当前用户是否有读取权限

-w:测试当前yoghurt是否有写入权限

-x:测试当前用户是否有执行权限

-L:测试是否为符合链接文件

 

5.整数值比较

1  整数值比较是指根据给定的两个数值,判断第一个数是否大于、等于、小于…….第二个数,但是在用方括号进行整数值比较时,不能使用传统的=、<、>等比较符合,这是由于这些传统的符号在shell中都有特定的含义,比如>和<分别表示输出和输入重定向,所有如果使用这些传统符合,必须要在它们前面加上反斜线“\”进行转义,如“\>”,”\<”等。

  

我们在shell脚本程序进行整数比较时,很少会使用这些传统的比较符合,取而代之的是一些专门的操作符,下面列出一些常用的整数比较操作符。

-eq:等于

-ne:不等于

-gt:大于

-lt:小于

-le:小于等于

n  -ge:大于等于

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论