如何转义shell脚本以使用命令\字符串选项运行它?
我试图通过shell命令字符串选项(/bin/sh-c)转义以下脚本以运行它如何转义shell脚本以使用命令\字符串选项运行它?,shell,awk,sed,Shell,Awk,Sed,我试图通过shell命令字符串选项(/bin/sh-c)转义以下脚本以运行它 请详细说明答案。您的问题不清楚,但可能您正在寻找: sh -c 'privateIP=$(ifconfig eth0 | awk "/inet/{print \$2}"); sed -i "s@http://:@http://$privateIP:@g" init.conf' 谢谢你的回复。我尝试了你的命令,我得到-sed:-e表达式#1,字符27:未终止的's'命令错误。仅供参考,我正在尝试运行一个与/bin
请详细说明答案。您的问题不清楚,但可能您正在寻找:
sh -c 'privateIP=$(ifconfig eth0 | awk "/inet/{print \$2}");
sed -i "s@http://:@http://$privateIP:@g" init.conf'
谢谢你的回复。我尝试了你的命令,我得到-sed:-e表达式#1,字符27:未终止的's'命令错误。仅供参考,我正在尝试运行一个与/bin/sh-c选项内联的shell script.sh文件,并坚持转义脚本。您需要展示如何使用
/bin/sh-c
。一旦分配了$privateIP
,您打算如何处理它?您确定返回的值符合您的需要/预期吗?williampersell向您展示了在str或replacment中有/
字符时进行替换的正确语法,即's@http....@..…@g'
。如果出现sed错误,那么应该显示正在执行的确切命令。祝你好运
sh -c 'privateIP=$(ifconfig eth0 | awk "/inet/{print \$2}");
sed -i "s@http://:@http://$privateIP:@g" init.conf'