【问题标题】:Why does this simple bash code give a syntax error?为什么这个简单的 bash 代码会出现语法错误?
【发布时间】:2011-03-03 23:06:01
【问题描述】:

我有以下 bash 代码,它是从“bash 食谱”(第 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 食谱中的印刷错误一样简单,还是存在版本不兼容或其他问题?最明显的解决办法是什么?我尝试了各种更改运算符的组合,但我对 bash 脚本并不熟悉。

【问题讨论】:

    标签: bash syntax-error


    【解决方案1】:

    Bash 使用空格来标记脚本。行:

    if [[ $1 =-v ]]
    

    应该是:

    if [[ $1 = -v ]]
    

    【讨论】:

    • 我可以发誓我已经尝试过了,但显然没有。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-02-23
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多