作者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
1F:→ jserv:推破千! 02/13 00:55
2F:推 thecloud:今天试了一下,这方法可以用了!~ 多谢高手的回答喔! ^^ 02/13 22:29