[問題] shell scripts讀取外部傳進來的多項指令列
不好意思,小弟是shell script新手一枚
最近在研究途中遇到一個問題,苦思不得其解,想說來此請教一下大家!~
狀況是我在C語言中,輸入一串指令列並寫到另一個檔案filename中儲存,
指令列如右 ===> -D "aaa bbb ccc"
然後我在shell script中,用了sed來讀進檔案filename中的那一行,
ex:第一行 `sed -n 1p filename`
但是shell在執行時,卻會把指令列分別讀成
-D
"aaa
bbb
ccc"
所以shell執行時在這一段會產生錯誤,
因為它會讀成"aaa,而不是aaa,然後把ccc讀成ccc"
想請問各位的是,
有辦法讓shell看的懂從外部讀取的 "aaa bbb ccc" 為一個多項的參數項嗎?
因為我直接在shell上打 -D "aaa bbb ccc",shell是可以執行的。
我有試過用`sed|awk`這個方法,
將 -D、aaa、bbb、ccc分別取出來並用雙引號將aaa、bbb、ccc包在一起,
但是覺得沒辦法適用在格式較不固定的指令列,ex: -D "aaa bbb ccc" -d -v 1.1
想請教大家是否有比較好的方法,
來讓shell看的懂外部傳來的指令哪是哪些是在一起的? 哪些是分開的?
不知是否有人遇過類似的問題,麻煩高手們指教一下吧! 萬分感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.221.163
討論串 (同標題文章)
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章