paths=$1
files=$2
for dir in ${paths[@]}
do
newdir=${dir##*/}
newpath=(/pathname)
val=`mkdir -p ${newpath}/${newdir}`
echo ${val}
for file in "${dir}"/*; do
if [[ -f $file && $file = *.@(c|cc|cpp|h) ]]; then
cp ${file} ${val}
fi
done
done
我想循环遍历目录并复制新创建的 val 目录中的文件名..但我无法打印 val 的值。我究竟做错了什么?
答案1
您正在分配的输出
mkdir -p ${newpath}/${newdir}
到 val,但是这个命令不会输出任何内容,因此您无法打印任何内容。 (可以,但是输出为空)
如果您想在 val 中添加任何内容,请先执行此操作并使用 val 创建目录,例如:
val="$newpath/$newdir"
mkdir "$val"
这样你就可以在变量中创建创建的目录。