2016-06-07 68 views
-1

在bash複製在慶典

使用chmod所有子目錄

我試圖找到一種方式在所有子目錄中複製文件與良好chmod文件:

例子:

toto.txt是在/ home/A

,但在中,我們可以找到3 dir

「B,C,d」

我要複製在B,C,d toto.txt不刪除從toto.txt

+1

'bir dir in b c d;做cp /home/a/toto.txt「$ dir」;完成' – fedorqui

+1

您提到'chmod'兩次,您是否將其誤認爲是複製文件的工具,或者您是否希望更改文件權限? – Aaron

+0

恩,謝謝你的回答! 正如Aaron所說,我提到chmod,是否可以根據目錄的權限更改「toto.txt」的權限? 例如:b中的toto.txt將有777 c中的toto.txt將具有755,因爲c具有755 chmod? –

回答

0

這將toto.txt複製到下/home/a

cd /home/a && for i in * 
do 
[ -d $i -a "$i" != ".." -a "$i" != "." ] && cp toto.txt "/home/a/$i/" 
perm=$(stat -c "%a %n" xadmin/ | awk '{ print $1 }') 
chmod $perm "/home/a/$i/toto.txt"        
done 

發現所有子目錄如果如果目標是一個目錄-d和文件目錄不...,只會複製的文件,該文件是當前和父目錄。

+0

非常感謝!我知道'$(...)'語法有一些問題,例如包含'*'的文件名。你的鏈接很清楚,所以我改變了我的代碼,並將其用於未來的腳本。 這就是我喜歡的所以! :) – cb0

+0

我又爲你讀了一篇文章:http://mywiki.wooledge.org/Quotes#Prevent_field_splitting_and_ignore_glob_pattern_characters :-) – andlrc

+0

我剛剛爲一些晚上學習的書籤添加了書籤。例如。 「Bash陷阱」看起來非常翔實。一直認爲我的技能很棒,但我發現他們有時候是不準確的。再次感謝! – cb0