gpt4 book ai didi

Bash 脚本错误 [: ! =: 应为一元运算符

转载 作者:太空宇宙 更新时间:2023-11-04 12:14:10 25 4
gpt4 key购买 nike

在我的脚本中,我试图错误检查第一个也是唯一一个参数是否等于 -v,但它是一个可选参数。我使用 if 语句,但我一直收到一元运算符预期的错误。

这是代码:

if [ $1 != -v ]; then
echo "usage: $0 [-v]"
exit
fi

更具体地说:

上面的这部分脚本正在检查一个可选参数,然后,如果没有输入该参数,它应该运行程序的其余部分。

#!/bin/bash

if [ "$#" -gt "1" ]; then
echo "usage: $0 [-v]"
exit
fi

if [ "$1" != -v ]; then
echo "usage: $0 [-v]"
exit
fi

if [ "$1" = -v ]; then
echo "`ps -ef | grep -v '\['`"
else
echo "`ps -ef | grep '\[' | grep root`"
fi

最佳答案

引用!

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

否则,当 $1 完全为空时,您的测试将变为:

[ != -v ]

代替

[ "" != -v ]

...并且 != 不是一元运算符(也就是说,它只能接受一个参数)。

关于Bash 脚本错误 [: ! =: 应为一元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47890846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com