Não há maneira de contornar isso, você precisa desbloquear o arquivo (por exemplo, com chflags nouchg
) primeiro para alterá-lo / substituí-lo. Ou, em outras palavras, o "super comando" que você precisa é:
super_cp() {
chflags nouchg "$2" # Unlock the file to allow replacement
cp "$1" "$2" # Replace the file
chflags uchg "$2" # Relock the replacement
}
super_cp newdesktop.plist desktop.plist