在编写脚本时,我想通过我给它的计算机名称(例如“selenium-rc”)来引用一台机器。我无法使用“selenium-rc” ping 它,所以我尝试了以下命令来查看是否识别了该名称。
> traceroute 192.168.235.41
traceroute to 192.168.235.41 (192.168.235.41), 64 hops max, 52 byte packets
1 selenium-rc (192.168.235.41) 0.545 ms 0.241 ms 0.124 ms
Run Code Online (Sandbox Code Playgroud)
好的,traceroute“找到”了这个名字。如何?下一个 ...
> traceroute selenium-rc
traceroute: unknown host selenium-rc
Run Code Online (Sandbox Code Playgroud)
嗯……这里的查找机制肯定不一样,因为主机是未知的。我假设这是使用系统名称解析过程,而第一个示例是使用特定于 traceroute 的过程。正确的?
然后当我稍后回来时......
> traceroute 192.168.235.41
traceroute to 192.168.235.41 (192.168.235.41), 64 hops max, 52 byte packets
1 minint-q4e8i52.mycorp.net (192.168.235.41) 0.509 ms 0.206 ms 0.136 ms
Run Code Online (Sandbox Code Playgroud)
好吧,不同的结果。“selenium-rc”名称在机器本身上没有改变,但 traceroute 名称解析过程必须包括某种优先级,并且现在给出由网络上的另一个系统/服务分配的可能更权威的结果。(不幸的是,我假设它是一个我无法控制的动态名称,因此它在脚本中没有用。)
有人可以解释结果吗?
我在 CentOS 5.9 机器上工作,我只想输入
sudo vi 某个文件
并拥有我可信赖的带有语法高亮等功能的 vim。这看起来很简单,但经过多次尝试,它仍然无法正常工作。
root@localhost> which vi
alias vi='vim'
/usr/bin/vim
root@localhost> sudo which vi
/bin/vi
root@localhost> sudo -i which vi
/bin/vi
root@localhost> sudo -E which vi
/bin/vi
Run Code Online (Sandbox Code Playgroud)
我以 root 身份登录以确保默认vi somefile调用 vim。它做了。我还尝试使用 -E 保留环境并使用 -i 运行登录脚本。那没有用。在我的 .profile 和 /etc/environment 中,我都将 EDITOR 导出为 vim,并将 vi 设置为 vim 的别名。
我还注释掉了 /etc/sudoers 中的 env_reset 行。
我还应该尝试什么?我不认为用 vim 替换 vi 会如此困难,而且我真的很想了解这里发生了什么。