Answers:
su 在大多数Unix系统上可用,并且应该可以工作:
su root -c 'echo "add this line to the code" >> fileName'你可以使用tee同sudo:
echo "add this line to the code" | sudo tee -a filename > /dev/nullecho的输出使用|(管道)重定向到sudo tee。
在这种情况下,tee从标准输入读取并将任何给定文件写入标准输出filename。-a(或--append)将tee附加到文件,否则将覆盖文件。与tee运行一样,sudo它打开具有root权限的文件。最后,将输出> /dev/null抑制tee为标准输出。
使用tee而不是仅使用su -c或重定向开始整个命令(包括重定向)的一个优点sudo sh -c是,您不必以任何方式更改初始命令的引号(有时,已经包含引号的行可能会变得很丑陋)。
会做到的:
ssh host "sudo su root -c 'echo "add this line to the code" >> /etc/hosts'"ssh呢 您不需要su,sudo也不需要指定,root因为它是默认值。总而言之,OP希望学习一些东西,而不仅仅是解决问题,因此更多的解释会更好。
                    
sudo,密码似乎没有被缓存su。