【问题标题】:What is the best method for adding and removing entries to/from the /etc/hosts file? [duplicate]在 /etc/hosts 文件中添加和删除条目的最佳方法是什么? [复制]
【发布时间】:2013-09-15 15:42:01
【问题描述】:

当我使用工作 VPN 时,我需要访问特定的内部站点,但我需要通过 SSH 隧道通过我们的一个开发服务器来访问它。这很好。

但是,每当我需要这样做时,我需要在主机文件中添加一个条目,以将此特定域别名为 localhost 并执行 SSH 隧道,因此当我完成后,我需要从主机中删除该条目文件。我想我会自动化这相对容易。然而管理主机文件并不像我想象的那么容易:

我试过了:

cat /etc/hosts | grep -v 'internal.name.company.com' > /etc/hosts

但是这总是会导致一个空的/etc/hosts 文件。如果我运行cat /etc/hosts | grep -v 'internal.name.company.com',我会得到我想要的输出。我错过了什么明显的东西吗?当我将输出重定向到另一个文件时,说 ~/test 结果符合预期,并且该文件包含我期望的内容。

【问题讨论】:

  • 是的,这是重复的,我的错,我没有想到要搜索它作为问题:(。投票关闭为重复。
  • 如果你只有0分的答案,你仍然可以删除它!

标签: shell unix hosts


【解决方案1】:

试试这个方法:

grep -v 'internal.name.company.com' /etc/hosts > /tmp/hosts.tmp ; cp /tmp/hosts.tmp /etc/hosts

【讨论】:

    【解决方案2】:

    也可以使用sed直接修改文件:

    sed '/internal\.name\.company\.com/d' hosts
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 2011-10-22
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多