我有一个调用bash脚本的python脚本,该脚本调用另一个仅在从python调用时挂起的bash脚本。
test.py
#!/usr/bin/python
import subprocess
print("Python")
subprocess.call(["/home/user/test/bash1.sh"])bash1.sh
#!/bin/bash
echo "Bash 1"
var=$(echo "Bash 1 var")
echo $var
/home/user/test/bash2.shbash2.sh
#!/bin/bash
echo "Bash 2"
var=$(echo "Bash 2 var")
echo $var
randomkey=$(cat /dev/urandom | tr -dc 'a-z' | fold -w 8 | head -n 1)
echo $randomkey当我运行./bash1.sh时,一切都很正常。当我运行test.py时,bash2.sh在以下位置挂起:
randomkey=$(cat /dev/urandom | tr -dc 'a-z' | fold -w 8 | head -n 1)我有一种臭气熏天的感觉,管道(|)不能到达它们的目的地。有什么办法在test.py中实现这个功能吗?
编辑:使用Python2.7的Ubuntu VM
发布于 2020-11-11 12:50:46
我通过将Python3.7从2.7升级到Python3.7解决了这个问题
https://stackoverflow.com/questions/64780390
复制相似问题