我是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" )
答案 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"
这是你在找什么?