我正在处理bash脚本,该脚本执行文件集的操作序列,每个文件都使用for循环加载到脚本
# run script.sh
script=./
for pdb in ${script}/workdir/*.pdb; do
#some operations
done
是否有可能通过从shell提供给脚本文件的一些标志来定义脚本外部的workdir(所有输入pdb文件所在的位置)?
# run script.sh -r <path_to_the_work_dir>
应该为脚本的主体提供什么修改(我猜到for循环)? 在Bash中将一些变量移到脚本外部(到script.sh文件提供的一些标志)的一般方法是什么?
感谢您的帮助,
詹姆斯
答案 0 :(得分:0)
在函数中调用之前定义workdir = $ 1。如果需要更多变量,则需要连续定义它们:var2 = $ 2,var3 = $ 3
从外部调用函数时,只需给出路径。
# run script.sh
workdir=$1
script=./
for pdb in ${script}/${workdir}/*.pdb; do
#some operations
done
CALL: 一个变量(如你所愿):
script.sh /home/lalal/functions/lalsl/
如果需要,还有其他变量:
script.sh /home/lalal/functions/lalsl/ var2 var3