Command

SNAME=$(basename “$(test -L “$0” && readlink “$0” || echo “$0″)”)

While running a bash script using Linux terminal the script name can also passed as argument at $0. but if we are using full path of script to execute, it will show full path as results when print value of $0. So use above command will exactly provide only script name. It also handle if you are running any bash script using symbolic link.

Advertisement

Example:

Create a script named test.sh and add following content in script.

#!/bin/bash

SNAME=$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")
echo "Your Script Name is $SNAME"

Lets execute this script and check for results.

 # sh test.sh

Result will be as follows:

Your Script Name is test.sh
Share.
Leave A Reply

Exit mobile version