Python不正确的字符串引用



嗨,我正在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

最新更新