Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash sed未端接's';将代码附着到块时的命令_Bash_Ubuntu_Sed - Fatal编程技术网

Bash sed未端接's';将代码附着到块时的命令

Bash sed未端接's';将代码附着到块时的命令,bash,ubuntu,sed,Bash,Ubuntu,Sed,这是我想更改的文件。我想在服务器{下添加一个条目 eap-radius { # Section to specify multiple RADIUS servers. servers { } } 这就是我尝试过的 sed -i '/servers {/a\ server-a { accounting = yes secret = 123456 address = 127.0.0.1

这是我想更改的文件。我想在
服务器{
下添加一个条目

eap-radius {

    # Section to specify multiple RADIUS servers.
    servers {

    }
}
这就是我尝试过的

sed -i '/servers {/a\
server-a {
            accounting = yes
            secret = 123456
            address = 127.0.0.1
            auth_port = 1812
            acct_port = 1813
}
' /etc/strongswan.d/charon/eap-radius.conf
sed:-e表达式#1,字符81:未终止的's'命令


我认为你需要避开新词:

sed '/servers {/a\
        server-a {\
            accounting = yes\
            secret = 123456\
            address = 127.0.0.1\
            auth_port = 1812\
            acct_port = 1813\
        }
' ./test.txt
结果是(我还使用了一个bit
server-a
block选项卡):


在Ubuntu 14.04.5 LTS上测试,GNU bash版本4.3.11(1)-发布

建议:将文本保存在文件中并使用
r
命令..无论您有什么字符,它都将非常健壮..而
命令将解释反斜杠序列和其他内容。。
eap-radius {

    # Section to specify multiple RADIUS servers.
    servers {
        server-a {
            accounting = yes
            secret = 123456
            address = 127.0.0.1
            auth_port = 1812
            acct_port = 1813
        }

    }
}