bash脚本之外的输入文件的设置

时间:2014-09-19 14:01:47

标签: bash

我正在处理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文件提供的一些标志)的一般方法是什么?

感谢您的帮助,

詹姆斯

1 个答案:

答案 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