【问题标题】:How to paste many lines to a file using a bash script?如何使用 bash 脚本将多行粘贴到文件中?
【发布时间】:2013-06-20 01:42:09
【问题描述】:

我正在编写一个脚本,它将使用正确的设置自动配置 NIS 客户端。 我正在尝试设置 /etc/nsswitch.conf 文件,我想用我的设置覆盖已经存在的任何内容。 现在我的问题是,我该怎么做?如何直接从脚本将大约 20 行设置粘贴到客户端的 nsswitch.conf 文件中? 我知道我可以这样做:

echo "line 1" > /etc/nsswitch.conf
echo "line 2" >> /etc/nsswitch.conf

但这是一种丑陋的方法,我希望有更好的方法来实现这个目标

【问题讨论】:

    标签: bash bind nis


    【解决方案1】:

    我会为此使用cathere-doc 语法:

    cat <<EOF > /etc/nsswitch.conf
    group:          compat
    shadow:         compat
    
    hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
    ...
    EOF
    

    上面的语句将使用第一行和EOF之间的内容覆盖或创建文件。在上面的表格中,甚至像 group: $group 这样的变量也会被 bash 扩展。如果您不希望这样,请使用&lt;&lt;'EOF'(注意EOF 周围的单引号'

    【讨论】:

    • 作为参考,以上示例中的... 仅用于说明,并非语法的一部分。
    猜你喜欢
    • 2017-06-03
    • 2013-10-10
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多