我注意到我从其他人那里获得的一些脚本有 shebang#!/path/to/NAME而其他人(使用相同的工具,NAME)有 shebang #!/usr/bin/env NAME。
两者似乎都可以正常工作。在教程中(例如在 Python 上),似乎有人建议后者 shebang 更好。但是,我不太明白为什么会这样。
我意识到,为了使用后一个 shebang,NAME 必须在 PATH 中,而第一个 shebang 没有这个限制。
此外,(对我而言)第一个似乎是更好的shebang,因为它精确地指定了NAME 所在的位置。因此,在这种情况下,如果 NAME 有多个版本(例如,/usr/bin/NAME、/usr/local/bin/NAME),第一种情况指定使用哪个。
我的问题是为什么第一个shebang比第二个更受欢迎?
这个 LDP Howto演示了如何更改 xterm 的标题。
我知道这也可以使用xtitle命令。
在调用长时间运行的操作之前,我的脚本使用此类技术来更改其 xterm 窗口的标题。
我想在更改它之前提取 xterm 窗口的名称,以便在长时间运行的操作完成后,我可以将标题恢复为以前的值。
它有点像 xtitle 的反面......这甚至可能吗?
我在我的系统上使用 Emacs 23。我从一位同事(他有不同的 Linux 发行版)那里收到了一个要添加到/usr/share/emacs/site-lisp/目录中的文件。
在我努力做到这一点时,我注意到另一个名称类似的目录: /usr/share/emacs23/site-lisp/. 查看它们的内容时,我注意到它们并不相同。
这在所有发行版上的所有 Emacs 配置中都很常见吗?什么时候我应该添加一个而不是另一个有不同的目的吗?哪一个?我怎么知道?
简而言之,这两个目录有什么区别?
在/etc/passwd我系统上的文件中,“评论”字段,字段 5,其内容不一致。我以为我可以提取它以获得用户的全名。
fullname=`awk -F: '$1 == name {print $5}' name=$LOGNAME /etc/passwd`
Run Code Online (Sandbox Code Playgroud)
然而,这将返回$fullname包含一个带有 0、3 或 4 个逗号的名称。浏览手册页 ( man 5 passwd) 除了将其描述为“用户名或评论字段”外,没有提供此字段的详细信息。
也许还有其他信息与用户名一起存储?