0

nautilus のカスタム右クリック コマンドを作成しようとしています。ここで役立つコンテンツを見つけることができました。

私が理解していないのは、これらの2行が本質的に何を意味するのですか?

IFS_BAK=$IFS
IFS="
"

そして、これらは下部にも存在します。彼らはどういう意味ですか?

助けてください。

4

2 に答える 2

2

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


于 2016-03-01T07:17:00.213 に答える
0

わかった。これは、シェルの特殊変数である「Internal Field Separator」と呼ばれます。

IFS を | に設定した場合 (つまり IFS=| ), | 入力行を分割するときに、単語/フィールド間の区切り記号として扱われます。

最初の行で:

IFS_BAK=$IFS

初期の「IFS」値は変数「IFS_BAK」に格納され、IFS の値は「改行」に設定されます。

IFS="
"

行全体が「単一の入力」として扱われるようにします。

その後、プログラムの終了時に、IFS 値が元の値に復元されます。

于 2016-03-01T07:19:10.420 に答える