2015-05-27 59 views
1

嘗試運行shell腳本文件時收到「command not found」命令。該文件本身存儲在一個目錄中,該目錄已添加到PATH中,但終端仍無法將其識別爲shell腳本。終端無法運行存儲在PATH目錄中的shell腳本文件

這是我嘗試的順序:

tajimura/GAMIT% echo $PATH 
/usr/local/bin:/usr/bin:/bin:/user/games:/usr/X11R6/bin:/usr/bin/X11:/usr/lib64/jvm/jre/bin:/home/tajimura/GAMIT/gamit/bin:/home/jaimura/GAMIT/kv/bin:/home/tajimura/GAMIT/com 
tajirmura/GAMIT% ls /home/tajimura/GAMIT/com/sh_steup 
/home/tajimura/GAMIT/com/sh_setup 
tajimura/GAMIT% sh_setup 
sh_setup: Command not found. 
tajimura/GAMIT% sh sh_setup 
sh: sh_setup: No such file or directory 
tajimura/GAMIT% l /home/tajimura/GAMIT/com/sh_setup 
-rwxr-xr-x 1 tajimura users 11109 Aug 20 2013 /home/tajimura/GAMIT/com/sh_setup 

下面是截圖:

PS:openSUSE的12.1這裏。

ADDED:我在第4天執行它就好了,所以我猜hashbang不是問題。但我不能保證工作站在會話之間沒有重新啓動,所以可能(可能是)-noexec是原因。但是,腳本位於硬盤上的主目錄中,它不是可移動驅動器。

新增:sh_setup的前五行:

/home/tajimura% sed 5q /home/tajimura/GAMIT/com/sh_setup 
    #!/bin/csh -f 
    # 
    #doc Check and setup the GAMIT tables directory 
    #doc 
    # 
+0

文件夾'GAMIT'和'com'是否需要文件系統權限? – arkascha

+1

1.向我們展示什麼sh_setup是 – kaitian521

+0

很確定'sh sh_setup'失敗,因爲你不在'com'中。第一個(只是'sh_setup')可能是'sh_setup'是一個錯誤的符號鏈接。 – kojiro

回答

2

您的腳本 是不可執行(做起來很帶 chmod +x sh_setup),或者 指定在一個破碎的(不存在)解釋了hash-bang行(sh_setup文件的第一行,從#!開始)。

您的sh sh_setup調用失敗,因爲它沒有使用$PATH而且您位於錯誤的目錄中。

編輯:你的腳本顯然是可執行的(我沒有在你的屏幕截圖中首先發現),這留下了一個可能不正確的解釋器。

0

我發現了一個意外的問題解決方案。如果我在bash而不是csh下調用腳本,那麼一切都很好。

相關問題