2013-10-29 66 views
2

我已經安裝了1.7.9版本的cygwin。 Iam試圖從.sh文件中執行cd「/ cygdrive/c/path」。當iam試圖執行該shell腳本時,它拋出如下錯誤 cd/cygdrive/c/path沒有這樣的文件或directort存在。cygwin- cd/cygdrive/c/path not working

請幫

如果我執行從Cygwin的終端的任何命令,所有的命令都工作正常,但如果我把在.SH這些腳本並嘗試從在cygwin終端,它不工作執行.SH腳本。我也添加了CYGWIN_HOME和環境變量路徑。需要

請幫助任何設置爲shell腳本工作要做,以cygwin的終端上

在Shell腳本下面有東西進入測試用的

cd "/cygdrive/c/DCS/" 
echo "$1" 
echo "$2" 
echo "$3" 
echo "$4" 
echo "$5" 
echo "$6" 
echo "$7" 
echo "$8" 
mv "./conf/env.conf_$3" "./conf/env.conf" 

我執行LS -la/cygdrive執行/ c命令。檢查下面的權限DCS文件夾

drwx------+ 1 Administrators Domain Users   0 Oct 29 17:26 DCS 

蔭調用腳本和gettig下面的錯誤

$ ./run.sh 
: No such file or directory line 1: cd: /cygdrive/c/DCS/ 
app 
0.4.2 
DEV 
test 
test 
NO 
both 
0.4.1 
mv: cannot stat `./conf/env.conf_DEV\r': No such file or directory 
+0

請給出一個shell腳本的「最低工作示例」,該腳本會給出錯誤以及描述腳本如何被調用。 – nispio

+0

我有一個包含cd「/ cygdrive/c/path」和mv命令的shell腳本。Iam試圖直接在cygwin終端上調用腳本,如./test.sh 只要我執行,它就會拋出一個錯誤如下 ---------------------------------------------- -------------- :沒有這樣的文件或目錄第9行:cd:/ cygdrive/c/DCS mv:不能統計'./conf/env.conf_DEV\r':否這樣的文件或目錄 – user1041177

+0

請*更新您的問題*以顯示實際的完整腳本。不要只寫「路徑」,告訴我們你正在使用的實際路徑。 (正如xnor的回答所示,我懷疑你正在使用的路徑中存在空格問題。) –

回答

1

做一個ls -la /cygdrive/c,看看路徑是實實在在地存在着。

在您的shell腳本中,確保您正確地轉義或引用路徑,如mv "/cygdrive/c/path to file" /cygdrive/c/path\ to\ target

+0

我想這它不工作 – user1041177

+0

我已經編輯我的職務與實際腳本 – user1041177

0

只需從新的vi會話重寫腳本.. 用簡單的cd命令試一試。 如果您在記事本或其他編輯器中編寫了腳本,可能會有其他轉義字符。 對我來說工作得很好

+0

您可以向您的答案添加代碼示例嗎? –

+0

我編寫了notepat文件。例如 cd/application/Files/In 如果文件在窗口和cygwin之間傳輸,那麼可能有轉義字符或其他導致特定錯誤的其他內容。 從頭文件重寫你的文件中的代碼(我使用vi編輯器,它工作正常) – Raceableability