嗨,我正在python中嵌入一个shell脚本,我想作为echo args
执行
args = """-ne '#!/bin/shn
update_bridge_config () {n
if [ $DATA_BRIDGE_IF ]; thenn
echo "DATA_BRIDGE_IF is $DATA_BRIDGE_IF"n
sudo /usr/bin/ovs-vsctl --may-exist add-br "br-$DATA_BRIDGE_IF"n
fin
}n
ETH0_MAC_ADDR=`ip link show eth0 | awk '/ether/ {print $2}'`n
ETH1_MAC_ADDR=`ip link show eth1 | awk '/ether/ {print $2}'`n
ETH2_MAC_ADDR=`ip link show eth2 | awk '/ether/ {print $2}'`n ' >> myScript.sh"""
当我打开文件时,我发现这一行被改成了
ETH0_MAC_ADDR= 'ip link show eth0 | awk/ether/{print}'
你知道我错过了什么吗?
编辑::看 ' 被 ' 所取代。和的失踪以及 2美元
这是一个单引号问题,因为您在ne """-ne '#!/bin/sh ...
之后开始使用单引号。正因为如此,你没有得到2美元,并面临其他单报价异常。
使用'"'"'
来逃避'
ETH0_MAC_ADDR=
ip link show eth0 | awk '"'"'/ether/ {print $2}'"'"'
这应该可以工作。小心!这个问题不是python的而是shell