nautilus のカスタム右クリック コマンドを作成しようとしています。ここで役立つコンテンツを見つけることができました。
私が理解していないのは、これらの2行が本質的に何を意味するのですか?
IFS_BAK=$IFS
IFS="
"
そして、これらは下部にも存在します。彼らはどういう意味ですか?
助けてください。
IFS_BAK
基本的に、変数の既存の値のバックアップを作成していIFS
ます。次の行は、新しい値をスクリプト
に割り当てます。
Internal Field Separator (IFS) の詳細については、 https://unix.stackexchange.com/questions/16192/what-is-ifs-in-context-of-for-looping https ://unix.stackexchange. .com/questions/184863/what-is-the-meaning-of-ifs-n-in-bash-scripting https://unix.stackexchange.com/questions/26784/understanding-ifsIFS
わかった。これは、シェルの特殊変数である「Internal Field Separator」と呼ばれます。
IFS を | に設定した場合 (つまり IFS=| ), | 入力行を分割するときに、単語/フィールド間の区切り記号として扱われます。
最初の行で:
IFS_BAK=$IFS
初期の「IFS」値は変数「IFS_BAK」に格納され、IFS の値は「改行」に設定されます。
IFS="
"
行全体が「単一の入力」として扱われるようにします。
その後、プログラムの終了時に、IFS 値が元の値に復元されます。