スクリプトを作成していて、両方のファイルの所有者が同じであることを前提として、特定のファイルのアクセス許可を別のファイルに適用したいと考えています。ファイルは巨大になる可能性があるため、次を使用してファイルの内容を移動します
cp dest tmp
rm dest
cp source dest
echo tmp > dest
rm tmp
オプションではありません。
あなたのchmod
サポートは--reference
オプションですか?それはまさにあなたが必要とすることをします。
FILE1="$HOME/.bashrc"
FILE2="$HOME/.profile"
FPERM=`stat -c "%a" "$FILE1"`
chmod $FPERM "$FILE2"
PS。所有権もある場合:
FUID=`stat -c "%U" "$FILE1"`
FGID=`stat -c "%G" "$FILE1"`
chown $FUID:$FGID "$FILE2"