【发布时间】:2013-09-05 07:06:48
【问题描述】:
如果未满足所需的参数计数,我希望我的 Bash 脚本打印一条错误消息。
我尝试了以下代码:
#!/bin/bash
echo Script name: $0
echo $# arguments
if [$# -ne 1];
then echo "illegal number of parameters"
fi
由于某些未知原因,我收到以下错误:
test: line 4: [2: command not found
我做错了什么?
【问题讨论】:
-
你不应该将你的脚本命名为
test。那是标准 Unix 命令的名称,你不会想隐藏它。 -
在 bash 中的 if 语句中始终在 '[' ('[[') 或 '(' ('((')) 周围使用空格。
-
要添加到@zoska 评论,您需要在 [ 之前有一个空格,因为它是作为命令实现的,请尝试 'which ['。
-
下面的链接给出了更好的例子:stackoverflow.com/questions/4341630/…
-
@Barmar 肯定将其命名为
test,只要它不在 PATH 上就可以了?
标签: bash parameter-passing command-line-arguments