问题
在解决下列问题时,需要遍历第二个开始的位置参数,一个$
需要取i的值,还需要一个$
取位置参数的值,这样就形成一个嵌套,这时就需要使用eval
读取若干输入,把第二个位置参数及其以后的各个参数指定的普通文件复制到第一个位置参数指定的目录中,其中
- 若第一个参数指定的目录不存在,则创建它;若存在且为普通文件,则删除该文件,并创建为目录;若存在且为目录,则清空这个目录
- 第二个参数及其以后的参数,若为普通文件则复制到第一个参数指定的目录,否则忽略
#!/bin/bash
if [[ ! -e $1 ]]; then
mkdir -p $1
elif [[ -f $1 ]]; then
rm $1 -f
mkdir -p $1
elif [[ -d $1 ]]; then
rm $1/* -rf
fi
for ((i=2; i<=${#}; ++i)); do
eval para='$'$i
if [[ -f $para ]]; then
cp $para $1
fi
done