ITPub博客

首页 > > > 关于 Shell 中常见参数及判断命令

关于 Shell 中常见参数及判断命令

作者:u_453e1a12781dea 时间:2018-08-10 14:06:09 0 删除 编辑

点击▲关注 “CU技术社区”   给公众号标星置顶

更多精彩 第一时间直达


今天为大家分享一篇对shell中常见参数及判断命令介绍,具有很好的参考价值。


Shell常用特殊变量

经常会在shell命令中,看到$0, $#, $*, $@, $?, $$这样的取值,这些代表什么呢?


变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
$@ 传递给脚本或函数的所有参数。被双引号(” “)包含时,与 $* 稍有不同
$? 上个命令的退出状态,或函数的返回值。成功返回0,失败返回1
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID

$* 和 $@ 都是将参数一个一个返回


"$*"将所有参数当做一个整体字符串返回 , "$@"将参数一个一个返回


常用判断参数



在shell命令文件中还经常会看到类似与if [ -z "${SPARK_HOME}" ]; then这样的判断语句?是不是也和我一样很疑惑-z是什么含义?


 下面是几个常见的参数,供查询使用:


-a file exists.

-b file exists and is a block special file.

-c file exists and is a character special file.

-d file exists and is a directory.

-e file exists (just the same as -a).

-f file exists and is a regular file.

-g file exists and has its setgid(2) bit set.

-G file exists and has the same group ID as this process.

-k file exists and has its sticky bit set.

-L file exists and is a symbolic link.

-n string length is not zero.

-o Named option is set on.

-O file exists and is owned by the user ID of this process.

-p file exists and is a first in, first out (FIFO) special file or named pipe.

-r file exists and is readable by the current process.

-s file exists and has a size greater than zero.

-S file exists and is a socket.

-t file descriptor number fildes is open and associated with a terminal device.

-u file exists and has its setuid(2) bit set.

-w file exists and is writable by the current process.

-x file exists and is executable by the current process.

-z string length is zero.
判断命令

shell中除了有上边这样用来判断文件是否存在的参数,当然还有判断两个数是否相等这样更常规的命令


例如,if [ $# -gt 0 ]这样判断传入参数个数是否为0


命令 含义

-eq

等于

-ne

不等于

-gt

大于

-lt

小于

ge

大于等于

le

小于等于

以上就是shell中常见参数及判断命令的全部内容了,希望能给大家一个参考。


Linux公社:https://www.linuxidc.com/



点击 “阅读原文” 立享购票7.8折优惠~

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    1982
  • 访问量
    17892