linux - 如何使用 bash 向每个命名主机文件添加一个字符串

标签 linux bash

我需要使用 bash 脚本向 Linux 命名目录中的多个主机文件添加一条记录。 我想打开每个主机文件并添加行:

webmail.domain.com. IN A 192.168.1.1

对于指定目录中的每个 domain.com.hosts 文件。你能给我一些提示吗?

最佳答案

假设 xx.com.hosts 应该添加了 webmail.xx.com

for f in *.com.hosts; do
    echo "${f%hosts} IN A 192.168.1.1" >>"$f"
done

构造 ${var%suffix} 生成 $var 的值,如果存在,则删除 suffix。 (还有一个相应的 #prefix 结构。)

关于linux - 如何使用 bash 向每个命名主机文件添加一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258707/

相关文章:

database - Linux 中的 TNS 条目

arrays - 目录中所有文件的数组,除了一个

bash shell脚本中的C++, super 初学者关于调用函数和调试的问题

bash - 如何在 Shell 脚本中使用 if else

java扫描仪.nextLine错误: no line found

ruby - 将 Ruby 链接到加密库

linux - 在 Linux 中,如何在 perl 中将用户更改为 root 并继续运行此脚本?如何在 perl 中导出代理?

linux - 在 Mac 上将 .json 文件拆分为多个文件

动态lib(.so)版本的兼容性

bash - windows bash 和 windows 命令行中的 Git 情况不同