首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python调用bash,后者使用管道(|)调用bash

Python调用bash,后者使用管道(|)调用bash
EN

Stack Overflow用户
提问于 2020-11-11 12:14:43
回答 1查看 47关注 0票数 1

我有一个调用bash脚本的python脚本,该脚本调用另一个仅在从python调用时挂起的bash脚本。

test.py

代码语言:javascript
复制
#!/usr/bin/python
import subprocess 
print("Python")
subprocess.call(["/home/user/test/bash1.sh"])

bash1.sh

代码语言:javascript
复制
#!/bin/bash
echo "Bash 1"
var=$(echo "Bash 1 var")
echo $var
/home/user/test/bash2.sh

bash2.sh

代码语言:javascript
复制
#!/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在以下位置挂起:

代码语言:javascript
复制
randomkey=$(cat /dev/urandom | tr -dc 'a-z' | fold -w 8 | head -n 1)

我有一种臭气熏天的感觉,管道(|)不能到达它们的目的地。有什么办法在test.py中实现这个功能吗?

编辑:使用Python2.7的Ubuntu VM

EN

回答 1

Stack Overflow用户

发布于 2020-11-11 12:50:46

我通过将Python3.7从2.7升级到Python3.7解决了这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64780390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档