O primeiro parâmetro no script Bash não é chamado $first
, mas $1
.
O segundo parâmetro no script Bash não é chamado $faulty_server
, mas $2
.
Eu tenho um código python existente e preciso chamar um script bash de dentro. O código python captura algumas variáveis e eu preciso que isso seja passado para o meu shell para evitar a entrada duplicada do usuário.
Eu criei um script de teste para simular isso, no entanto, eu não sou capaz de ecoar as variáveis no shell (ele retuns um nulo)
1): É possível passar a variável python para o script de shell que está sendo chamado usando o subprocesso? 2) Se o código abaixo puder ser otimizado para conseguir isso, estou aberto ao feedback.
Código Python:
import os
import subprocess
first=input("Enter the first ip")
second=input("Enter the second IP")
subprocess.call(['bash','./script.sh',first,second])
Código Bash (script.sh):
#!/bin/bash
###########################
echo "The First IP is $first"
echo "Enter your server "
read faulty_server
echo "The server is $faulty_server"