我目前正在尝试将此行附加到文件末尾
zone_text = 'zone \"domain.com\" { type master; file \"/etc/bind/zones/domain.com\";};'
add_zone_file = subprocess.Popen(
['ssh', NAMESERVERS[0], '/bin/echo', '"{}"'.format(zone_text), '>>', '/etc/bind/named.conf.local'],
stdout=subprocess.PIPE
)
但是当我检查文件时,它会将其输出到其中
zone domain.com { type master; file /etc/bind/zones/domain.com;};
我需要它来输出这个
zone "domain.com" { type master; file "/etc/bind/zones/domain.com";};
最佳答案
请考虑使用shlex.quote() 。应该有帮助。还有一个选项是使用 shell=True
来 Popen()
,但这有一些负面的安全方面。
关于Python 子进程 echo 不将带引号的文本传递到文件末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322442/