加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash脚本错误[:!=:一元运算符

发布时间:2020-12-15 09:08:48 所属栏目:安全 来源:网络整理
导读:在我的脚本中,我试图错误检查第一个和唯一的参数是否等于-v,但它是一个可选参数。我使用一个if语句,但我不断得到一元运算符期望的错误。 这是代码: if [ $1 != -v ]; then echo "usage: $0 [-v]" exitfi 编辑: 我应该更具体: 上面脚本的这部分是检查一
在我的脚本中,我试图错误检查第一个和唯一的参数是否等于-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 ]

…和!=不是一元运算符(即,只能取一个参数)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读