【问题标题】:Python fabric variablePython结构变量
【发布时间】:2023-03-05 01:51:01
【问题描述】:

我正在尝试使用fabric 配置脚本,并且我想在使用fabric 的run() 运行的bash 命令中访问python 变量。下面是代码

    vol_ex=e.run("sudo fdisk -l | grep Disk | awk {'print $2'} | grep -e '/dev/xv*' -e '/dev/sd*' | tr -d ':'")
    vol_ex1=vol_ex.stdout
    print("Vol_ex1=%s" % vol_ex1)
    inst=conn.describe_instances(Filters=[{"Name":"network-interface.association.public-ip", "Values":["ip"]}])
    inst_id=inst["Reservations"][0]["Instances"][0]["InstanceId"]
    print(inst_id)
    inst_az=inst["Reservations"][0]["Instances"][0]["Placement"]["AvailabilityZone"]
    disk=e.run("sudo fdisk -l | grep Disk | grep 'vol_ex1' | awk '{print $3}' | cut -d'.' -f1")

我正在尝试获取存储在“vol_ex1”中的磁盘名称,但它不能用于获取变量“disk”中的大小。我们如何将 python 变量传递给这样的 bash 命令?

【问题讨论】:

    标签: python fabric python-fabric-2


    【解决方案1】:

    我将命令作为字符串创建到变量中,并尝试使用 run() 运行它但不起作用

        vol_ex2="sudo fdisk -l | grep Disk | grep "+vol_ex1+"| awk '{print $3}' | cut -d'.' -f1"
        vol_ex2='uptime'
        disk=e.run(vol_ex2)
    

    我尝试打印 vol_ex2 并且该命令似乎有效但无法使用 run() 执行它。

    有人可以帮忙吗?

    【讨论】:

      猜你喜欢
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-01
      • 1970-01-01
      • 2011-01-13
      相关资源
      最近更新 更多