ディレクトリを通るループ

ディレクトリを通るループ
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"

これにより、変数に作成されたディレクトリを持つことができます。

おすすめ記事