我正在运行以下脚本:
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.
尝试修复输出中提到的内容。