2011-09-01 136 views
1

我想寫一個基本上進入特定文件夾並執行一些操作的shell腳本。這裏的問題是,文件夾名稱是可變的,即/path/to/variable運行shell腳本時定義變量?

我在想,是否可以從命令行運行shell腳本並在同一行中定義一個變量?喜歡的東西:

./run.sh $id=456 

當它運行時,它需要的路徑 /path/to/$id因此/path/to/456

回答

4

您可以運行在下面的樣式腳本:

./run.sh 465 

比你可以用$1(第一個參數),$2(第二個參數)等訪問腳本中的參數的內容。 要更改目錄使用cd /path/to/$1 順便說一句:$#返回參數的計數。

另一種方法是使用參數,喜歡這裏:http://www.linux.com/archive/feature/118031 這樣你就可以像這樣運行腳本:./run.sh -d 465(其中-d代表目錄)

+0

哇,那很快!謝謝! – Angad

+0

...因爲它很容易問題?答案是否符合您的需求? –

3

周圍其他的方式。

id=456 ./run.sh 
+1

也許值得說明的是,這會自動將變量'id'與值'456'一起導出到腳本'run.sh'(並且只能寫入該腳本及其運行的任何程序,而不是後面的任何程序)。 –