Bash
遍歷目錄
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 的值。我究竟做錯了什麼?
您正在分配的輸出
mkdir -p ${newpath}/${newdir}
到 val,但是這個命令不輸出任何東西,因此你不能列印任何東西。(可以,但輸出為空)
如果您想在 val 中包含任何內容,請先執行此操作並使用 val 創建目錄,例如:
val="$newpath/$newdir"
mkdir "$val"
這樣,您就可以在變數中創建目錄。