if [ $# -ne 1 ];then 是什么意思?

 我来答
帐号已注销
2019-07-03 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:6010
展开全部

if [ $# -ne 1 ];then的意思是,如果shell传递到脚本的参数不等于1,则执行某命令。

$#:是指传递到脚本的参数个数。

-ne:是指不等于则为真。

if condition;then 是shell中的流程控制语法,意思是如果condition位真,则执行后面的语句。


扩展资料

1、shell几个特殊字符用来处理参数介绍:

$*:以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

$$:脚本运行的当前进程ID号。

$!:后台运行的最后一个进程的ID号。

2、shell数值测试符号介绍:

-eq:等于则为真。

-gt:大于则为真。

-lt:小于则为真。

SeJust
推荐于2017-11-20 · TA获得超过278个赞
知道小有建树答主
回答量:250
采纳率:66%
帮助的人:84.4万
展开全部
$# 表示提供到shell脚本或者函数的参数总数;
$1 表示第一个参数。
-ne 表示 不等于
另外:
整数比较
-eq 等于,如:if ["$a" -eq "$b" ]
-ne 不等于,如:if ["$a" -ne "$b" ]
-gt 大于,如:if ["$a" -gt "$b" ]
-ge 大于等于,如:if ["$a" -ge "$b" ]
-lt 小于,如:if ["$a" -lt "$b" ]
-le 小于等于,如:if ["$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
另外:$?是shell变量,表示"最后一次执行命令"的退出状态.一般情况下:0为成功,非0为失败.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MLX丶Tech
2017-11-20 · TA获得超过160个赞
知道答主
回答量:43
采纳率:0%
帮助的人:9.3万
展开全部
单纯翻译你这句话,意思是:判断输入的参数是否为一个,如果是就执行then里的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式