【发布时间】:2016-03-01 15:19:10
【问题描述】:
我正在尝试为 nautilus 创建自定义右键单击命令。 我设法找到了有用的内容here。
我不明白的是这两行的本质是什么意思?
IFS_BAK=$IFS
IFS="
"
这些也出现在底部。它们是什么意思?
请帮忙。
【问题讨论】:
标签: python bash shell nautilus
我正在尝试为 nautilus 创建自定义右键单击命令。 我设法找到了有用的内容here。
我不明白的是这两行的本质是什么意思?
IFS_BAK=$IFS
IFS="
"
这些也出现在底部。它们是什么意思?
请帮忙。
【问题讨论】:
标签: python bash shell nautilus
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的值被设置为'new line'
IFS="
"
以便将整行视为“单个输入”。
稍后,在程序结束时,IFS 值恢复到原来的值。
【讨论】: