作者WalkingIce ( 殺手哥吉拉 13)
看板LinuxDev
標題Re: [問題] shell scripts讀取外部傳進來的多項指令列
時間Fri Feb 13 00:46:58 2009
哇,你這一篇是第 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
→ jserv:推破千! 02/13 00:55
推 thecloud:今天試了一下,這方法可以用了!~ 多謝高手的回答喔! ^^ 02/13 22:29