如何使用python'Popen'函数使用'read -p'执行bash

时间:2018-11-15 09:23:59

标签: python bash

我有两个脚本文件'caller.py'和'read.sh'

这是'caller.py'

# -*- coding: utf-8 -*
from subprocess import PIPE, Popen

p = Popen('echo abc', stdin=PIPE, stdout=PIPE, stderr=PIPE, bufsize=1, shell=True)
print 'pid is: ' + str(p.pid)
print p.stdout.read()

p = Popen('bash read.sh', stdin=PIPE, stdout=PIPE, stderr=PIPE, bufsize=1, shell=True)
print 'pid is: ' + str(p.pid)
p.stdin.write('testinput\n')
print p.stdout.read()

这是read.sh

#!/bin/bash
read -p "please input:" a
echo 'a is: ' $a

我在python 2.7上运行

python caller.py

,输出为:

pid is: 13535
abc

pid is: 13536
a is:  testinput

我的问题是'read -p'的提示在哪里” ,输出中应该有“请输入:” 吗?

0 个答案:

没有答案