【问题标题】:Bash / command not found [duplicate]找不到bash /命令[重复]
【发布时间】:2013-08-11 10:43:44
【问题描述】:

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

是什么原因?

【问题讨论】:

  • 变量赋值中不能有空格。应该是GV=$( ...
  • 应该是答案,user000001

标签: bash sh


【解决方案1】:

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

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

如果有空格,则将第一个单词(本例中为GV)解释为命令,未找到。

【讨论】:

  • 实际上,它们确实可以容忍空格,但是语句的语义发生了根本性的变化。
猜你喜欢
  • 2013-05-17
  • 2017-02-23
  • 2012-06-06
  • 2013-03-22
  • 2015-01-22
  • 2022-11-24
  • 2020-04-08
  • 2016-01-02
  • 2018-12-10
相关资源
最近更新 更多