以下を含むスクリプトがあるとしましょう。
command $1
また、オプションのパラメータがあることが示されているので、command
これも可能ですcommand $1 $2
。
ここにスペースがあると$1
どうなりますか?(仮定しよう$1=A B
)?コマンドはthatと解釈されますかcommand A B
、それともcommand A\ B
単一の変数はどこにありますか?A B
ベストアンサー1
通常、$1
スペースが含まれていて二重引用符で囲まれていない場合は、複数入力トークンとして解釈されます。単一のトークンとして解釈するには、二重引用符で囲みますcommand "$1" $2
。つまり、デフォルトではトークンを区切るためにスペースが使用されるためです。この動作は環境変数の値を設定することで変更できますIFS
。詳細については、Advanced Bash Scripting Guideの次のページをご覧ください。