내부에서 bash 스크립트를 호출해야 하는 기존 Python 코드가 있습니다. Python 코드는 사용자가 이중 입력하는 것을 방지하기 위해 쉘에 전달해야 하는 일부 변수를 캡처합니다.
이를 시뮬레이션하기 위해 테스트 스크립트를 만들었지만 셸에서 변수를 에코할 수 없습니다(null을 반환함).
1): 하위 프로세스를 사용하여 호출되는 쉘 스크립트에 Python 변수를 전달할 수 있습니까? 2) 이를 달성하기 위해 아래 코드를 최적화할 수 있다면 피드백을 받을 수 있습니다.
파이썬 코드:
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
.