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