tchrist@convex.COM (Tom Christiansen) (10/07/90)
In article <277@talarian.UUCP> scott@talarian.UUCP (Scott Weitzenkamp) writes: > I am trying to write a shell script (either in sh or csh on SunOS 4.0.3) >that can clone the file protection from one file to another. I'd like >to do something like this: > > chmod `get_protection old_file_name` new_file_name [Solution in C deleted.] > I have a feeling this is probably easy to do in Perl, but I not > really interested in a Perl solution because I cannot guarantee that > our customers will have Perl (I suppose I could put Perl on our > product tape, though). You're right -- it *is* easy in perl. Error checking aside, this should do the trick: perl -e 'chmod(((stat(shift))[2] & 0777), @ARGV)' f0 f1 f2 f3 ... This copies f0's perms to the rest of the list, although it doesn't propagate set[ug]id or sticky bits -- use 07777 for that behavior. How many times will you need to cook up another solution in C because your customers don't have perl? I know that this is just one little thing, but after running into dozens of such little things, I realized I was making my own life unnecessarily difficult because of that very line of thinking, so I got perl added to my company's standard utilities tape. I suggest you try to do the same. Just out of curiosity, what other companies supply perl? --tom -- "UNIX was never designed to keep people from doing stupid things, because that policy would also keep them from doing clever things." [Doug Gwyn]