Location, ownership, and permissions
The ability to run any executable program, including a
script, under Linux depends in part upon its location in the
filesystem. Either the user must explicitly specify the location of
the file to run or it must be located in a directory known by the
shell to contain executables. Such directories are listed in the
PATH environment variable. For
example, the shells on a Linux system (including
bash) are located in /bin.
This directory is usually in the
PATH, because you’re likely to run
programs that are stored there. When you create shell programs or
other utilities of your own, you may want to keep them together and
add the location to your own
PATH. If you maintain your own
bin directory, you might add the following line
to your .bash_profile:
This statement modifies your path to include your /home/username/bin directory. If you add personal scripts and programs to this directory, bash finds them automatically.
Execute permissions (covered in the section Objective 5: Manage File Permissions and Ownership) also affect your ability to run a script. Since scripts are just text files, execute permission must be granted to them before they are considered executable, as shown earlier.
You may wish to limit access to the file from other users with the following:
chmod 700 ~/bin/lsps
This prevents anyone but the owner from making changes to the script.
The issue of file ownership is dovetailed with making a script executable. By default, ...