Re: [問題] shell scripts讀取外部傳進來的多項指令列

看板LinuxDev作者 ( 殺手哥吉拉 13)時間15年前 (2009/02/13 00:47), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/3 (看更多)
哇,你這一篇是第 1000 篇耶!! ※ 引述《thecloud (另一種生活!!)》之銘言: : 不好意思,小弟是shell script新手一枚 : 最近在研究途中遇到一個問題,苦思不得其解,想說來此請教一下大家!~ : 狀況是我在C語言中,輸入一串指令列並寫到另一個檔案filename中儲存, : 指令列如右 ===> -D "aaa bbb ccc" : 然後我在shell script中,用了sed來讀進檔案filename中的那一行, : ex:第一行 `sed -n 1p filename` : 但是shell在執行時,卻會把指令列分別讀成 : -D : "aaa : bbb : ccc" : 來讓shell看的懂外部傳來的指令哪是哪些是在一起的? 哪些是分開的? : 不知是否有人遇過類似的問題,麻煩高手們指教一下吧! 萬分感謝! 有點看不太懂,不過我猜你需要的東西是 evaluate walkingice@localhost:/tmp$ cat args -D "A B C D" walkingice@localhost:/tmp$ cat start.sh #!/bin/bash args=`sed -n 1p args` echo content of file: $args echo "Executing another script..." eval "./hello.sh $args" walkingice@localhost:/tmp$ cat hello.sh #!/bin/bash echo ARGS1:$1 echo ARGS2:$2 echo ARGS3:$3 walkingice@localhost:/tmp$ ./start.sh content of file: -D "A B C D" Executing another script... ARGS1:-D ARGS2:A B C D ARGS3: -- 有一天小明跟朋友打牌,有張牌不小心掉進水裡。此時女神出現了 女神:「你掉的是這張紅中,還是這張白板?」 小明:「都不是,我掉的是青發。快還我吧大嬸,我缺那張牌就自摸了」 女神:「.................(不爽)」 「你真是誠實的好孩子,紅中跟白板都送你吧」 於是小明就相公了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.177.157

02/13 00:55, , 1F
推破千!
02/13 00:55, 1F

02/13 22:29, , 2F
今天試了一下,這方法可以用了!~ 多謝高手的回答喔! ^^
02/13 22:29, 2F
文章代碼(AID): #19b5A5JU (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #19b5A5JU (LinuxDev)