我想測驗和比較兩個檔案夾中的檔案。為此,我使用了下一個命令
for FILE in folder_one/*; do
test -f folder_one_arch/$FILE && echo $FILE " exists" || echo $FILE " not exists"
cmp -s $FILE folder_one_arch/$FILE && echo "same" || echo "different";
done
但是這個命令不起作用,問題出在哪里?
uj5u.com熱心網友回復:
問題來自$FILE:它包含一個路徑,而您正在期待一個檔案。
我建議您采用以下方法:有兩個變數,PATH一個是for回圈中的變數,FILE另一個是檔案基名。
for PATH in folder_one/*; do
echo "PATH is $PATH "
FILE=${PATH##*/}
echo "FILE is now $FILE"
test -f folder_one_arch/$FILE && echo $FILE " exists" || echo $FILE " not exists"
cmp -s $PATH folder_one_arch/$FILE && echo "same" || echo "different";
done
見https://mywiki.wooledge.org/BashFAQ/073
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/440051.html
上一篇:在本地同步兩個檔案夾中的操作c#
下一篇:!javascript中的函式?
