我在php中有linux sed命令,但在TDL\=c:\TDL\Main.tcp中它将\t视为tab

shell_exec("sudo sed -i '/User\ TDL=Yes/a TDL\=c\:\\tdl\\Main.tcp' /home/"$loginuser"/."$loginuser"/drive_c/Program\ Files/Tally.ERP9/tally.ini");

请用php解决
我原来的linux命令是
sudo sed -i '/User\ TDL=Yes/a TDL=c\:\\tdl\\Main.tcp' /home/"$loginuser"/."$loginuser"/drive_c/Program\ Files/Tally.ERP9/tally.ini

最佳答案

对于您的标签问题,请再使用一个反斜杠。
使用\tdl而不是\\tdl
但我认为你的命令也是错误的。请直接发布linux命令,以便我更正它。但是对于tab问题,请多放一个反斜杠,将您的\t视为字符串而不是tab。
无论如何,根据您的命令,请参阅下面的如何将ingore视为tab

echo "sudo sed -i '/User\ TDL=Yes/a TDL=c\:\\tdl\Main.tcp' /home/your_loginuser/your_loginuser/drive_c/Program\ Files/Tally.ERP9/tally.ini";

在您的案例中:
$loginuser = "xyz";
echo "sudo sed -i '/User\ TDL=Yes/a TDL=c\:\\tdl\Main.tcp' /home/$loginuser/".$loginuser."/drive_c/Program\ Files/Tally.ERP9/tally.ini";

10-08 08:51