从Python脚本获取Shell脚本的“read”值

1 投票
2 回答
768 浏览
提问于 2025-04-17 19:52

Shell脚本:

Hello.sh

#!/bin/bash
echo "Enter your name: "
read name
echo "Hello $name"

我想在Python里面调用Hello.sh这个脚本,并且想要给变量“name”赋值,不想通过交互的方式。请问怎么做呢?

2 个回答

0
name = raw_input('Enter your name: ')
print 'Hello ', name

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

1

我不太明白你的问题。

编辑:提问者补充了评论:在Python中调用Hello.sh,并且以非交互的方式“填充”名字

这改变了情况,所以我给这个新问题一个不同的回答:

import subprocess
cmd = '/home/user1/Hello.sh'
proc = subprocess.Popen(cmd, stdin=subprocess.PIPE)
proc.communicate("Fred Bloggs")

我使用了脚本的完整路径,这样更安全。

撰写回答