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

为什么这个简单的bash代码会出现语法错误?

发布时间:2020-12-15 22:16:51 所属栏目:安全 来源:网络整理
导读:我有以下bash代码,它是从“bash cookbook”(第1版)复制并粘贴的: #!/bin/bashVERBOSE=0;if [[ $1 =-v ]]then VERBOSE=1; shift;fi 当我运行它(bash 4.0.33)时,我得到以下语法错误: ./test.sh: line 4: conditional binary operator expected./test.sh: lin
我有以下bash代码,它是从“bash cookbook”(第1版)复制并粘贴的:

#!/bin/bash

VERBOSE=0;
if [[ $1 =-v ]]
then
    VERBOSE=1;
    shift;
fi

当我运行它(bash 4.0.33)时,我得到以下语法错误:

./test.sh: line 4: conditional binary operator expected
./test.sh: line 4: syntax error near `=-v'
./test.sh: line 4: `if [[ $1 =-v ]]'

这是否与bash cookbook中的错误打印一样简单,或者是否存在版本不兼容或其他内容?最明显的解决方案是什么?我尝试过改变运算符的各种组合,但我并不熟悉bash脚本.

解决方法

Bash使用空格来标记脚本.这条线:

if [[ $1 =-v ]]

应该:

if [[ $1 = -v ]]

(编辑:李大同)

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

    推荐文章
      热点阅读