2015-09-26 69 views
0

我想运行一个非常简单的bash脚本,在shell上运行一些命令。现在,一切由是:简单的Bash脚本说没有找到命令

#!/bin/bash 

eos 

其中“EOS”是运行如果我在同一个外壳手动运行它,我在服务器上使用完全正常的完全合法的命令。

然而,当我使用chmod + x和执行该脚本,我得到的错误:

没有人有任何想法,为什么它不会提交这些命令?

在此先感谢!

+2

不是'eos'只是一个别名? – ewcz

+2

尝试'输入eos'来找出真正的'eos'。 – choroba

+0

你们是对的!我甚至没有想过eos是一个别名(我也不知道你不能在bash脚本中使用别名)。无论如何,我只是键入了整个别名,现在它工作正常。谢谢! – khfrekek

回答

4

什么用户正在运行该脚本?我怀疑是一个环境或密码问题,虽然权限是可能的。 尝试使用eos的完整路径或在脚本中设置必要的环境。

+0

谢谢,我甚至没有想过eos是一个别名(我也不知道你不能在bash脚本中使用别名)。无论如何,我只是键入了整个别名,现在它工作正常。谢谢! – khfrekek

1

在命令所在的目录不在PATH(一个env变量)中找到命令时,在unix shell中找不到“command not found”错误。

对此的解决方案是任一的任何无论是在壳启动文件或用户下面

一个)变化PATH和出口PATH变量提到的方法2的型材

export PATH=$PATH:/eos-command-directory-location/ 

b)运行EOS命令在你已经开发完整路径的shell脚本中

+0

1.您不需要导出'PATH'变量(它很可能已经标记为导出)。 2.你的作业中有拼写错误:路径以冒号分隔。你需要引用'PATH'变量的扩展。 4.您是否读过OP的问题已解决,您是否注意到您的问题在您的答案中未提及? (所以你的声明_解决这个问题的方法是下面提到的两种方法中的任何一种 - 是不正确的)。 –

+0

更正了错字,谢谢 – iam