2
「while IFS = read ..」では、なぜIFSは効果がないのですか?
何か間違っているかもしれませんが、IFDを事前実行/完了リストのコマンドの 1つとして設定してもまったく効果がないことは納得できそうです。以下のスクリプトに示されているすべての例で は、外側のIFS(構造の外側while)が優先されます。 何が起きてる?この状況でIFSが何をするかについて間違った考えを持っていますか?配列分割の結果は、「expected」列に示されているとおりであると予想しました。 #!/bin/bash xifs() { echo -n "$(echo -n "$IFS" | xxd -p)"; } # allow for null $IFS show() { x=($1) echo -ne " (${#x[@]})\t |" for ((j=0;j<${#x[@]};j++)); do echo -n "${x[j]}|" done echo -ne "\t" xifs "$IFS"; echo } data="a b c" echo -e "----- -- …