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
🐧 1 comment so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
source /path/to/script.sh