2012-06-12 166 views
2

我現在正在運行一個bash腳本,其中我需要更改我的目錄並從更改的目錄執行腳本。在bash腳本中更改目錄

我想將我的文件夾更改爲myfolder並將script.sh運行到該特定文件夾中。

任何方式在Bash中做到這一點?

我已經嘗試

cd myfolder 
./script.sh 

但是,這並不工作。

+5

那怎麼辦? –

+0

你想通過bash文件運行它?對? –

+4

「不起作用」時會顯示什麼錯誤? – ghoti

回答

3

簡單得要命

(cd myfolder && ./script.sh)

希望這有助於:)

+1

工作很好。謝謝。 –

+0

@ aditya.gupta:這實質上和你已經試過的一樣。它的不同之處不在於你的問題。 –

+0

script.sh位於何處?我很好奇這是如何工作的。 – octopusgrabbus

3

嘗試

cd myfolder 
./script.sh 

希望這有助於。

+0

已經嘗試過。不起作用。 –

+0

@ aditya.gupta嘗試在腳本頂部添加以下標誌:-xv併發布錯誤。添加這些標誌aftr#!/ bin/bash就像這樣#!/ bin/bash -xv –

+0

對不起,如果它不起作用。你應該在你的問題中提到你以前已經嘗試過。 – 2012-06-12 18:33:23

1

爲什麼不乾脆試試這個:

cd /absolute_path/myfolder 
./script.sh 

指定的絕對路徑,使這個獨立的腳本發出的位置。

0

也許它因爲在 「MyFolder中」 其他腳本不必permisions執行。

cd myfolder 
chmod 755 myscript 
./myscript.sh 
+0

已經使其可執行。 反正,這是使它工作的代碼 '(cd myfolder && ./script.sh)' –

+1

這沒有任何意義。這一切都是一樣的 –

+0

Nopes。嘗試一下吧。 'echo「最初」 pwd cd /另一個文件夾 pwd' –

0

哪裏是腳本位於相對於myfolder?所有這些答案張貼應該工作。例如,如果myfolder在根目錄下,並且該腳本在/path/to/file.sh中,則需要首先轉義。

cd ../../myfolder 
./script.sh 

您也可以在腳本中加入ls來檢查。如果你沒有看到myfolder,那麼你就錯了。

您的腳本是否可執行?嘗試一個chmod +x script.sh並再次運行。

你收到了哪些錯誤信息?

+0

我想他的意思是如果他從一個bash腳本運行代碼來執行另一個目錄中的另一個bash腳本。 –