Bash
讀取由空格分隔的輸入欄位
我怎樣才能讀入
bash
這樣的 POSIX 輸入:<name>,<tag1> <tag2> <tag3>…
我試過
while read line;do done
了,但這需要換行符,我只有空格。(是IFS解決方案嗎?如果是,如何解決?(我不完全了解IFS。))
使用數組:
echo '<name>,<tag1> <tag2> <tag3>' | while IFS=" ," read -a foo; do echo ${foo[@]}; done
輸出:
<name> <tag1> <tag2> <tag3>
來自
man bash
:IFS:內部欄位分隔符,用於擴展後的分詞,並使用 read 內置命令將行拆分為單詞。