gpt4 book ai didi

python3 - 带有 sudo 的子进程 >> 附加到/etc/hosts

转载 作者:行者123 更新时间:2023-11-30 23:10:22 25 4
gpt4 key购买 nike

我一直在努力解决“How do I use sudo to redirect output to a location I don't have permission to write to? ”和“append line to /etc/hosts file with shell script ”的解决方案,但没有成功。

我想在/etc/hosts 末尾“附加 10.10.10.10 puppetmaster”。 (Oracle/Red-Hat Linux)。

一直在尝试以下变体:

subprocess.call("sudo -s", shell=True)

subprocess.call('sudo sh -c" "10.10.10.10 puppetmaster" >> /etc/hosts"', shell=True)

subprocess.call(" sed -i '10.10.10.10 puppetmaster' /etc/hosts", shell=True)

但是/etc/hosts 文件保持不变。有人可以指出我做错了什么吗?

最佳答案

只需使用dd:

subprocess.Popen(['sudo', 'dd', 'if=/dev/stdin',
'of=/etc/hosts', 'conv=notrunc', 'oflag=append'],
stdin=subprocess.PIPE).communicate("10.10.10.10 puppetmaster\n")

关于python3 - 带有 sudo 的子进程 >> 附加到/etc/hosts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30719478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com