【问题标题】:Shell Scripting | Bash Programming | Custom right click in nautilusShell 脚本 | Bash 编程 | nautilus中的自定义右键单击
【发布时间】:2016-03-01 15:19:10
【问题描述】:

我正在尝试为 nautilus 创建自定义右键单击命令。 我设法找到了有用的内容here

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

IFS_BAK=$IFS
IFS="
"

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

请帮忙。

【问题讨论】:

    标签: python bash shell nautilus


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

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

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

      在第一行:

      IFS_BAK=$IFS
      

      初始的'IFS'值存储在变量'IFS_BAK'中,IFS的值被设置为'new line'

      IFS="
      "
      

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

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

      【讨论】: