【发布时间】:2010-03-01 09:06:35
【问题描述】:
我有一个 bash 代码 (Mybash1.sh) 我需要传递的结果
到另一个包含 Python 的 bash 代码 (Mybash2.sh)
这里是代码。 Mybash1.sh
#! /bin/bash
# Mybash1.sh
cut -f1,3 input_file.txt | sort | ./Mybash2.sh
Mybash2.sh 是这样的:
#! /bin/bash
#Mybash2.sh
python mycode.py foo.txt <("$@") > output.txt
# do something for output.txt
我遇到的问题是Mybash2.sh 中的“output.txt”不包含任何结果。
在Mybash2.sh中是否有正确的方式执行Python?
请注意,mycode.py 如果我在中间临时运行它就可以工作
来自Mybash1.sh 的文件。但我想避免使用它,因为我会打电话给Mybash2.sh
在Mybash1.sh 中的许多情况下。
mycode.py 的片段如下所示:
if __name__ == "__main__":
import sys, os, fileinput
progName = os.path.basename(sys.argv[0])
if len(sys.argv) != 3:
sys.exit('Usage: ' + progName + ' file1 file2')
file1 = fileinput.input(sys.argv[1])
file2 = fileinput.input(sys.argv[2])
# do something for file1 and file2
file1.close()
file2.close()
【问题讨论】:
标签: python linux bash unix stdin