-1

我在 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

是什么原因?

4

1 回答 1

3

Bash(或 sh)不允许在赋值运算符周围有空格=

GV=$(find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | sed 's/.*PO\.\([0-9]*\).*/\1/')

如果有空格,它会将第一个单词(GV在这种情况下)解释为命令,但未找到。

于 2013-08-11T11:16:53.317 回答