rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

空白/スペースを含む文字列を格納した変数の展開 シェル

2020 Jun. 13.
2018 Nov. 11.
2018 Aug. 01.
 
 
Str=' ab     cd '

$ COMMAND $Str
ab     cdはひとかたまりのトークンとはならない。
シェル展開により
COMMAND ab cd 
 
$ echo $Str
ab     cdはひとかたまりのトークンとはならない。
abというトークンとcdというトークンとなる。
シェル展開により
echo  ab cd
    出力: ab cd( ' は出力に含まない)
     Strの先頭と末尾の空白/スペースが落ちる。abとcdの間の空白/スペースは1つになる。
 
$ cp $Str
シェル展開により
cp  ab cd 
 (ファイルabのファイルcdへのコピー)

$ COMMAND "${Str}"
シェル展開により
' ab     cd 'という1つのトークン。bとcの間は区切れではなく文字列を構成する空白/スペース
COMMAND ' ab     cd '
 
$ echo "${Str}"
シェル展開により
' ab     cd 'という1つのトークン。bとcの間は区切れではなく文字列を構成する空白/スペース
echo ' ab     cd '
    出力: ' ab     cd '  ( ' は出力に含まない)
      Strの先頭と末尾の空白/スペースが残る。abとcdの間の空白/スペースもすべて残る。
 
$ cp "${Str}"
シェル展開により
' ab     cd 'という1つのトークン。bとcの間は区切れではなく文字列を構成する空白/スペース
cp ' ab     cd '
 (ファイル「 ab     cd 」のコピー先が指定されていない)