我正在尝试为 nautilus 制作自定义右键单击命令。我设法在这里找到了有用的内容。
我不明白的是这两行本质上是什么意思?
IFS_BAK=$IFS
IFS="
"
这些也出现在底部。他们的意思是什么 ?
请帮忙。
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
好的,我明白了。它被称为“内部字段分隔符”,是 shell 中的一个特殊变量。
如果将 IFS 设置为 | (即 IFS=| ),| 分割一行输入时,将被视为单词/字段之间的分隔符。
在第一行:
IFS_BAK=$IFS
初始“IFS”值存储在变量“IFS_BAK”中,IFS 的值设置为“新行”
IFS="
"
以便将整行视为“单个输入”。
后来,在程序结束时,IFS 值恢复到原来的样子。