[Novalug] Sample shell code...
angelo at freeshell.org
Fri Feb 23 14:19:06 EST 2007
> On Thu, 22 Feb 2007, Kevin Dwyer wrote:
>> On Thu, Feb 22, 2007 at 03:32:22PM -0800, Beartooth wrote:
>>> Urkkk! That's WhatsitDo5 -- and I'm back to
>>> [btth at localhost ~]$ ./WhatsitDo5
>>> bash: ./WhatsitDo5: Permission denied
>>> [btth at localhost ~]$
>> If you wish to execute a script, you should permit the script to be
> This is true of scripts in general, then? And, by implication, any
> linux knows a script when it sees one, and that's why ownership alone
> does not enable it? The things youss guyss's fingers've known so long
> you need not think of them any more must be legion ...
Hmm? I don't follow. Why would ownership of a file imply that the shell
you're using should try to execute commands in that file? I agree, if
the file starts with something like #!/bin/bash, your shell could just
assume it's executable, but that's not a good policy. It's better to be
explicit about the things you want to make executable.
>> Assuming a recent version of chmod:
>> chmod u+x ./WhatsitDo5
>> Translation: "Allow the owner of the file ./WhatsitDo5 to execute it"
> I tried it first with plain "chmod +x" and it ran. What does the "u" do?
One (my preferred) way to use chmod is like chmod
[u,g,o,a][+,-][r,w,x,X,s] filename. It lets you change for user, group,
other, or all, turning on or off the read, write, execute bits.
Also, I think since we're talking about this, it's really really
important to mention that people never ever use chmod -r, instead using
chmod -R for recursive changes. I have absolutely NO IDEA why chmod -r
includes the .. directory! No other command I know of does this, and it
seem so incredibly stupid and dangerous. Also, what is the point? Why on
earth would recursion simply just do every file on the system?
More information about the Novalug