Shell 脚本 | Bash 编程 |在 nautilus 中自定义右键单击

Shell Scripting | Bash Programming | Custom right click in nautilus

我正在尝试为 nautilus 制作自定义右键单击命令。 我好不容易找到了有用的内容here.

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

IFS_BAK=$IFS
IFS="
"

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

请帮忙。

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

好的,我知道了。 它被称为'Internal Field Separator',shell中的一个特殊变量。

如果将 IFS 设置为 | (即 IFS=| ),|拆分一行输入时,将被视为 words/fields 之间的分隔符。

第一行:

IFS_BAK=$IFS

初始'IFS'值存储在变量'IFS_BAK'中,IFS的值被

设置为'new line'
IFS="
"

这样整行就被当作 'single input'.

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