需求
假如我需要拷贝一些jar
包到指定目录/tmp/test
下, 但是这些jar
包分散在不同的目录下:
- 从
/tmp/a
目录下拷贝a1.jar
,a2.jar
和a3.jar
- 从
/tmp/b
目录下拷贝b1.jar
- 从
/tmp/c
目录下拷贝c1.jar
,c2.jar
,c3.jar
和c4.jar
现要求设计一个函数copy
来实现.
实现
COPY
:
function copy(){
ARGS=""
while [ $# -gt 0 ]
do
unset OPTIND
unset OPTARG
while getopts p: options
do
case $options in
p)
find_path=$OPTARG
;;
esac
done
shift $((OPTIND-1))
ARGS="$ARGS $1"
shift
done
for jar in ${ARGS[*]};
do
echo "cp ${find_path}/${jar}.jar /tmp/test/${jar}.jar"
done
}
调用
copy -p /tmp/a a1 a2 a3
copy b1 -p /tmp/b
copy c1 -p /tmp/c c2 c3 c4