我在php中有linux sed命令,但它认为\ t为 TDL \ = c:\ tdl \ Main.tcp
中的标签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
答案 0 :(得分:0)
对于标签问题,请再使用一个反斜杠。
而不是\tdl
使用\\tdl
。
但我认为你的命令也是错误的。请直接发布linux命令,以便我可以更正它。但是对于制表符问题,会添加一个额外的反斜杠,将您的\ t视为字符串而不是制表符。
无论如何,根据你的命令,请参阅以下内容,了解如何将ingore \ t视为标签
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";