Bash 如何解决错误:意外标记“do'”附近的语法错误;
我正试图通过以下方式读取两个文件:Bash 如何解决错误:意外标记“do'”附近的语法错误;,bash,shell,jenkins,Bash,Shell,Jenkins,我正试图通过以下方式读取两个文件: if [[ $COPY_PREV_DEPLOYMENT == true ]]; then echo [$JOB_NAME] Copying old environment variables of $OLD_APP app to the new environment variables of $NEW_APP app... cf env $NEW_APP | awk '/User-Provided/,/No staging env varia
if [[ $COPY_PREV_DEPLOYMENT == true ]]; then
echo [$JOB_NAME] Copying old environment variables of $OLD_APP app to the new environment variables of $NEW_APP app...
cf env $NEW_APP | awk '/User-Provided/,/No staging env variables have been set/'| cut -f1 -d":" | tail -n +2 > env_variables.txt
cf env $OLD_APP | awk '/User-Provided/,/No staging env variables have been set/'| cut -f2 -d":" | tail -n +2 > env_variables_values.txt
paste env_variables.txt env_variables_values.txt | while read -r VARIABLE VALUE
do
cf set-env "$NEW_APP" "$VARIABLE" "$VALUE"
done
echo [$JOB_NAME] Done.
fi
但我面临着这个问题
..…sh:第61行:意外标记附近的语法错误do'
……sh:第61行:
do('
有人能帮我解决吗
非常感谢您在
if
条件之后不使用do
。do…done
主要用于中。而且,似乎不需要用括号从中包装此单个执行语句
代码可能如下所示:
if [[ $COPY_PREV_DEPLOYMENT == true ]]; then
echo $JOB_NAME Copying old environment variables of $OLD_APP app to the new environment variables of $NEW_APP app...
cf env $NEW_APP | awk '/User-Provided/,/No staging env variables have been set/'| cut -f1 -d":" | tail -n +2 > env_variables.txt
cf env $OLD_APP | awk '/User-Provided/,/No staging env variables have been set/'| cut -f2 -d":" | tail -n +2 > env_variables_values.txt
paste env_variables.txt env_variables_values.txt | while read -r VARIABLE VALUE; do
cf set-env "$NEW_APP" "$VARIABLE" "$VALUE"
done
echo $JOB_NAME Done.
fi
删除
()
s?do应该在我必须删除()之后,但同样的,否则它会说接近“完成”如何运行脚本?第一行是什么?您运行的是什么版本的shell?@choroba我正在使用Jenkins来运行脚本,第一行:#!/bin/bash-x和shell版本我不知道如何获取它管道后有一个,所以do
和done
是完全有效的。另外,(…)
用于子shell,而不是链接。顺便说一句,该脚本对我来说没有错误。当然,我已经更新了注释。我不熟悉cloudfoundry cli,所以我没有触及它,只关注bashbits@choroba感谢您指出这一点。while循环以前不存在,这是结果“+粘贴env_variables.txt env_vari”ables_values.txt+'['读取-r变量值']']'/tmp/…sh:第60行:[:参数太多粘贴:写入错误:管道断裂'我的错误,此处不需要方括号。我已更新脚本