|  | ||
| *停權中*  加入日期: Mar 2007 
					文章: 186
					
				 | 
				
				[請益]請教一個shell script使用上的問題
		
	 假設scrip的內容是如下 --------------------------------------------------------- #!/bin/sh name="We Have Overcome (HM27 1989)" rarachive=` sed -n 1p test.txt ` --------------------------------------------------------- 假設txt文件的內容如下行 --------------------------------------------------------- rar a -m0 -hp123456789 -v90960b -rr3 -ep1 test.rar "$name" --------------------------------------------------------- 請問有沒有辦法從shell script裡面直接調用rarachive取得的文字(如上rar a -m0 -hp123456789 -v90960b -rr3 -ep1 test.rar "$name")當作command line來執行,且command line中的$name需要由shell script中得自定義變數(如上"We Have Overcome (HM27 1989)")來取得 請教大家  此文章於 2014-08-16 10:33 PM 被 goddesschi 編輯. | |||||||
|  2014-08-16, 10:31 PM
			
			
	#1 |   | 
| Regular Member   加入日期: Nov 2006 
					文章: 94
					
				 | 直接在script裡面,直接執行另一個script, 同時帶參數或管線,應該可以吧? | ||
|  2014-08-17, 09:25 AM
			
			
	#2 |   | 
| Regular Member   加入日期: Jul 2014 
					文章: 89
					
				 | rarachive 寫成function不就好了? shell只要帶rarachive.sh rarachive 就可以執行了阿,你要帶啥參數就帶啥 不過如果參數中有空白就要小心 #!/bin/sh function archive(){ rarachive=$(sed -n 1p test.txt) } name="We Have Overcome (HM27 1989)" if [ $# -ne 0 ];then for opt in ${@};do cmd="$cmd ${opt}" done $cmd fi | 
|  2014-08-17, 09:45 AM
			
			
	#3 |   | 
| Regular Member   加入日期: Jul 2014 
					文章: 89
					
				 | 還是你要這個? . ./xxxx.sh 這樣你的參數會被帶進去當下的環境喔 .等同source,效果一樣 記得~~你的script內不可以下exit 如果硬要做"離開動作時",要用kill -INT $$ | 
|  2014-08-17, 09:50 AM
			
			
	#4 |   |