好吧所以我有一个pythonscript接受这样的参数
& ./myscript.py argumentishere
你想要做的是读取一个文本文件,该文件具有多个文本行,并为每一行执行我的命令,如此
& ./myscript.py line1
& ./myscript.py line2
& ./myscript.py line3
ect.ect.ect
如何在bash脚本中实现这一目标
答案 0 :(得分:1)
虽然您可以使用bash脚本实现此目的,但可能更简单的方法是使用xargs
实用程序。
xargs -L 1 ./myscript.py <inputfile
bash的方式是:
while read line
do
./myscript $line
done <inputfile
答案 1 :(得分:1)
#!/bin/bash
cat input | while read line
do
./myscript.py $line
done
你还需要在myscript.py和chmod可执行文件头部添加#!/usr/bin/env python
到myscript.py
答案 2 :(得分:1)
如果我是你,我会修改python脚本,将文件名作为参数,并按照每行做我想做的事。
import sys
file = open(sys.argv[1])
for line in file:
#do your thing here
答案 3 :(得分:0)
你试过这个吗?
while IFS= read -r line; do
./myscript.py "$line"
done < file