我在bash中运行下一个:
cd /$P/"W${GU}"
GV = $(find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | sed 's/.*PO\.\([0-9]*\).*/\1/')
\cp $P/"Wa ${GV}"/PO.${GV}/la_${GV}_PO.${GV}.exe $P/"$JOB_NAME"/S-${SV}_PO.$SV/G
它返回下一个:
/tmp/h4.sh: line 3: GV: command not found
是什么原因?
答案 0 :(得分:3)
Bash(或sh)不允许赋值运算符=
周围的空格。
GV=$(find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | sed 's/.*PO\.\([0-9]*\).*/\1/')
如果有空格,它会将第一个单词(在这种情况下为GV
)解释为命令,但未找到。