0

我正在尝试为 nautilus 制作自定义右键单击命令。我设法在这里找到了有用的内容。

我不明白的是这两行本质上是什么意思?

IFS_BAK=$IFS
IFS="
"

这些也出现在底部。他们的意思是什么 ?

请帮忙。

4

2 回答 2

2

IFS_BAK本质上是创建IFS变量现有值的备份。
下一行然后分配一个新值,IFS即特定/必需的脚本。
可以在此处找到有关内部字段分隔符 (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-ifs

于 2016-03-01T07:17:00.213 回答
0

好的,我明白了。它被称为“内部字段分隔符”,是 shell 中的一个特殊变量。

如果将 IFS 设置为 | (即 IFS=| ),| 分割一行输入时,将被视为单词/字段之间的分隔符。

在第一行:

IFS_BAK=$IFS

初始“IFS”值存储在变量“IFS_BAK”中,IFS 的值设置为“新行”

IFS="
"

以便将整行视为“单个输入”。

后来,在程序结束时,IFS 值恢复到原来的样子。

于 2016-03-01T07:19:10.420 回答