如何获取bash脚本从python脚本获取输入

时间:2018-04-23 16:46:25

标签: python linux bash

我是python编程的新手,想尝试一下。

我有一个bash脚本,它接受用户名,全名等参数。这是我的bash脚本

#!/bin/sh

echo -n "username: "
read username

echo -n "First name: "
read first

echo -n "Last name: "
read last

echo "$username", "$first", "$last"

我试图通过python调用bash脚本。除了我想在python中输入参数,它需要被解析为bash脚本。任何帮助将不胜感激。

用于调用bash脚本的Python代码

import os

import sys

os.system("pwd")

os.system("./newuser1.list" )

1 个答案:

答案 0 :(得分:1)

您并不是特定于您的python版本,但这里的内容适用于2.7。

据我了解,您希望在python脚本中输入并将其传递给bash脚本。您可以在python 2中使用raw_input("Prompt"),在python 3中使用input("Prompt")。将params传递给shell脚本时,只需将它们附加到传递给shell的字符串即可。

因此:

import os

user_name = raw_input("Enter username: ")
first_name = raw_input("Enter firstname: ")
last_name = raw_input("Enter lastname: ")

os.system("./test.sh {0} {1} {2}".format(user_name, first_name, last_name))

对于shell脚本,使用$ 1,$ 2 ...环境样式变量获取params。将它们放在如下变量中,或直接使用它们。

shell脚本(例如我将其命名为test.sh):

#!/bin/sh

userName=$1
firstName=$2
lastName=$3

echo "$userName, $firstName, $lastName"

这是你在找什么?