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="$newpath/$newdir"
mkdir "$val"
これにより、変数に作成されたディレクトリを持つことができます。