我有以下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脚本。
答案 0 :(得分:11)
Bash使用空格来标记脚本。这一行:
if [[ $1 =-v ]]
应该是:
if [[ $1 = -v ]]