我有一个现有的 python 代码,我需要从内部调用一个 bash 脚本。python 代码捕获的变量很少,我需要将其传递给我的 shell 以避免用户重复输入。
我创建了一个测试脚本来模拟这一点,但是,我无法在 shell 中回显变量(它返回 null )
1):是否可以将python变量传递给使用子进程调用的shell脚本?2)如果可以优化以下代码以实现此目的,我愿意接受反馈。
Python代码:
import os
import subprocess
first=input("Enter the first ip")
second=input("Enter the second IP")
subprocess.call(['bash','./script.sh',first,second])
bash 代码(script.sh):
#!/bin/bash
###########################
echo "The First IP is $first"
echo "Enter your server "
read faulty_server
echo "The server is $faulty_server"
Bash 脚本中的第一个参数不是被调用
$first
,而是$1
.Bash 脚本中的第二个参数不是被调用
$faulty_server
,而是$2
.