Howto run a shell script without changing file access permission

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.

ADVERTISEMENTS

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

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
1 comment… add one
  • Beau Jul 29, 2015 @ 2:52

    source /path/to/script.sh

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.