我有一个现有的 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"
答案1
Bash 脚本中的第一个参数不是叫$first
,而是$1
。
Bash 脚本中的第二个参数不是叫$faulty_server
,而是$2
。