Howto run a shell script without changing file access permission

Posted on in Categories , , , , , , , , , , last updated April 25, 2007

Q. I know chmod command needs to apply to each shell script to make it executable. I’m wondering is if there’s a way to run a shell script without changing file access permission.

A. You can simply use following format
shellname {/path/to/scriptname}
OR
. {/path/to/scriptname}

For example if a shell name is bash and a script name is chkhealth.bash, enter
$ bash chkhealth.bash
OR
$ . chkhealth.bash

Note: dot (,) read and execute commands from given FILENAME and return control to shell.

Other shell examples:
$ ksh /path/to/script.ksh
OR
$ csh /path/to/script.csh

So it is more convenient to invoke the shell with the script as argument. However, I recommend to use chmod command for regular usage:
$ chmod +x script.sh
$ ./script.sh

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 1 comments/add one below):

1 comment

Leave a Comment