Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查bash脚本参数时不需要';行不通_Bash_Unix - Fatal编程技术网

检查bash脚本参数时不需要';行不通

检查bash脚本参数时不需要';行不通,bash,unix,Bash,Unix,我正在编写一个bash脚本,它运行其他命令,例如调用yum来安装软件包列表,我希望我的脚本在默认情况下使其他命令静音,但如果我传递了-v参数,就让它们输出。我遇到的问题是,检查$1的值似乎无法正常工作。给定以下代码,我的脚本将始终回显“是”: 如果我只回显$1并将脚本传递给-v,那么它将按其应该的方式回显-v。我错过了什么 编辑: 找到了。继续播放脚本并将第一行更改为: if [[ $1 == "-v" ]]; then 现在可以使用了吗?您需要在支票周围添加一些空格: 如果[[“$1”==”

我正在编写一个bash脚本,它运行其他命令,例如调用yum来安装软件包列表,我希望我的脚本在默认情况下使其他命令静音,但如果我传递了-v参数,就让它们输出。我遇到的问题是,检查$1的值似乎无法正常工作。给定以下代码,我的脚本将始终回显“是”:

如果我只回显$1并将脚本传递给-v,那么它将按其应该的方式回显-v。我错过了什么

编辑: 找到了。继续播放脚本并将第一行更改为:

if [[ $1 == "-v" ]]; then

现在可以使用了吗?

您需要在支票周围添加一些空格:
如果[[“$1”==”-v”];那么

谢谢!我可以发誓我已经尝试过添加空格了,但没有成功,但正如我在编辑中提到的,它正在进行更改。昨晚我应该多睡一个小时。我的答案和你的编辑一定在提交时互相通过了。很高兴你成功了!别忘了,你可以把找到的答案贴出来,然后接受。下次我会尽量记住的P仍在等待它让我接受您的。不带空格的版本始终为true:当在
[[]]
中给出单个参数时,如果该参数为非空,则
[[
返回true。
if [[ $1 == "-v" ]]; then