Bash 脚本的条件表达式中存在语法错误

Bash 脚本的条件表达式中存在语法错误

我正在运行以下脚本:

status="UNKNOWN"
while [[ "$status" != "OUTPUT"]]; do
    echo "Checking
    status of job $jobid" status=$(zowe zos-jobs view job-status-by-jobid "$jobid" --rff status --rft string)
    echo "Current status is $status"
    sleep 5s
done;

我总是收到类似以下错误:条件表达式中的语法错误:意外的标记“;”

我尝试了多种组合来解决这个问题,但每次都会出现不同的错误。

PS:我在 Windows 的 PowerShell 上运行

答案1

当我编写 bash 脚本时,我会shellcheck检查是否存在语法错误等。您可以通过以下方式安装它,apt-get install shellcheck也可以使用shellcheck 网站

我将您的脚本粘贴在那里并给出以下输出:

Line 2:
while [[ "$status" != "OUTPUT"]]; do
^-- SC1009: The mentioned syntax error was in this while loop.
      ^-- SC1073: Couldn't parse this test expression. Fix to allow more checks.
                                ^-- SC1020: You need a space before the ]].
                                ^-- SC1072: Missing space before ]. Fix any mentioned problems and try again.

尝试修复输出中提到的内容。

相关内容