2015-09-26 68 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