在终端中运行的命令在shell脚本中不起作用

时间:2017-09-24 19:07:07

标签: linux bash shell syntax-error sh

我正在尝试使用包含以下命令的shell脚本:

(./rstrings $INPUT ; cat $INPUT ) | sha1sum

当我在终端中运行上面的命令时,我得到了所需的输出,而在我的shell脚本中,相同的命令给了我找不到的命令。以下是脚本中创建问题的行:

sha1 = `(./rstrings $INPUT ; cat $INPUT ) | sha1sum`

rstrings是一个可执行的...

我是shell脚本的新手,任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:2)

我弄错了,我应该在作业中留出空间。

sha1 = `(./rstrings $INPUT ; cat $INPUT ) | sha1sum`

以下声明反映了所需的更改:

sha1=`(./rstrings $INPUT ; cat $INPUT ) | sha1sum`

对于所有其他新的shell脚本编写器,不允许在分配时使用空格。 http://www.shellcheck.net/对于遵循shell脚本编写的最佳实践非常有帮助,我感谢Cyrus指导我实现它。