从变量声明的shell脚本中找不到命令错误

时间:2016-08-26 02:02:32

标签: bash shell

我写了一个bash脚本,我的脚本失败了,当我所做的就是分配变量时。

在我的脚本中,我有以下声明:

pcre-version="8.39"

尝试运行程序后,我收到此错误:

-bash: pcre-version=8.39: command not found

我做错了什么?

更新

变量不能包含连字符。删除它们解决了这个问题。

1 个答案:

答案 0 :(得分:5)

-不是变量名称的有效部分,请尝试使用_

它被解析为pcre - version = "8.39" 正如chepner指出的那样,原始字符串中没有IFS个字符,因此它不会受到单词拆分的影响。所有这些都是有效的文件系统字符(通常至少),因此它被视为命令名称并在PATH中搜索,这不太可能找到,因此错误消息

请参阅有关此内容的this related question on U&L

这是一个“Gotcha”here