2011-08-24 261 views
0

我需要一個更改目錄並運行命令的cron作業。更改目錄並使用#!bin/bash文件運行命令

命令:

cd /var/www/domain.com/httpdocs 
sake cron/test 

我寫這個.SH文件(/var/here/and/there/test.sh):

#!/bin/bash 
cd /var/www/domain.com/httpdocs 
sake cron/test 

我 「chmoded」 的文件:

chmod 777 test.sh 

當我運行它:

SH的/ var /這裏/and/there/test.sh

輸出是這樣的:

[1] : No such file or directoryrons/test.sh: line 2: cd: /var/www/domain.com/httpdocs 
[2] Can't find ./sapphire/cli-script.php or ./cli-script.php 

(第二行是從起見命令,當在正確的目錄執行其中僅是全成)

THX

+0

嘗試使用bash,而不是SH的運行它。將您的test.sh重命名爲其他內容... – ghostdog74

+0

沒有抱歉,不工作...相同的輸出 – Danzzz

+1

'chmod 777'過度;它爲所有用戶提供讀取,修改或執行文件的權限。考慮'chmod 755',它只給所有者寫入權限。 (即使系統上沒有其他人,這是一個好習慣。) –

回答

2

我認爲你的cd命令末尾有一個流浪回車(\r)。 shell假定'\r'是目錄名稱的一部分。當它在錯誤信息中打印出來時,光標跳到該行的開始處,並且該消息的其餘部分將覆蓋那裏的所有內容。

確保test.sh使用Unix風格的行結尾,而不是Windows風格的結尾。 (這可能是您用來創建它的任何編輯器的副作用。)

您是否正在Cygwin下運行?

dos2unix --help

(警告:與大多數過濾器,dos2unix到位轉換文件

+0

thx ,就是這樣:-)我用我的FTP客戶端上傳了文件,並沒有在shell中創建它... – Danzzz

0

確實存在目錄/var/www/domain.com/httpdocs嗎?你能否在該系統上從shell手動輸入cd /var/www/domain.com/httpdocs

+0

是的它存在:[root @ pserver httpdocs]#pwd /var/www/domain.com/httpdocs [root @ pserver httpdocs]# – Danzzz

相關問題