我正在尝试构建一个包装器来多次执行一个工具,然后连接一些结果。我想将两组文件传递给我的包装器脚本,然后对每对文件运行该工具。我希望它的行为如下:
multitool.sh -a a*.txt -b b*.txt
(扩展通配符以匹配所有可用文件)
然后在里面,我对、、、等运行multitool.sh
该工具,其中 a 和 b文件的数量可变。a1.txt b1.txt
a2.txt b1.txt
a1.txt b2.txt
a2.txt b2.txt
我按照本教程解释了选项处理的基础知识,并且我能够使用它getops
来处理-h
,但不能处理其他任何事情。
这就是我现在的情况:
#!/bin/bash
while getopts ":hpg:" option; do
case $option in
h) # display help
echo "-h to print this help and exit, -p is peak files, -g is bedgraph files."
exit;;
p) # get list of peak files to process
l_peaks=$OPTARG;;
g) # get list of bedgraph files to process
l_bgraphs=$OPTARG;;
\?) # Invalid option
echo "Error! Invalid option!"
echo "-h to print this help and exit, -p is peak files, -g is bedgraph files."
exit;;
esac
done
echo "$l_peaks"
echo "$l_bgraphs"
我正在与一个不太懂计算机的团队合作,所以如果我可以将包装器保持为简单的一行执行,那就最好了。
我怎样才能将这些文件列表作为一个选项传递?