Both $SHELL and $0 are environment variables that provide information related to the shell in Unix or Unix-like operating systems, but they differ in the following ways.
$SHELL
- This environment variable stores the path to the default shell for the logged-in user.
- Example:
$ echo $SHELL /bin/bash $ sh sh-3.2 $ echo $SHELL /bin/bash
In the above example, irrespective of the shell that you are currently using, $SHELL will give you the default shell path set for the active user.
$0
- This environment variable provides the name of the current shell when used on any interactive shell prompt. Note that if used within a script, it will give you the name of the script being executed.
- Example:
$ echo $0 bash $ zsh % echo $0 zsh
In the above example, you get the name of the current shell when $0 is echoed.
Facing issues? Have Questions? Post them here! I am happy to answer!
Author Info:
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
More Posts related to Linux,
- Command to know the Available Memory on Linux System
- How to install curl on Alpine Linux
- How to backup a file in Linux/Unix
- Install Java Runtime Environment (Oracle or open JRE) on Ubuntu
- What is the Default Admin user and Password for Jenkins
- How to tar.gz a directory or folder Command
- Copy entire directory using Terminal Command [Linux, Mac, Bash]
- Fix: bash: ipconfig: command not found on Linux
- Command to check Last Login or Reboot History of Users and TTYs
- Linux: Create a New User and Password and Login Example
- ls command to list only directories
- bash: cls: command not found
- How to exit from nano command
- Installing and using unzip Command to unzip a zip file using Terminal
- What does apt-get update command does?
- ls command: sort files by name alphabetically A-Z or Z-A [Linux/Unix/macOS/Bash]
- How to remove or uninstall Java from Ubuntu using apt-get
- scp: ssh: connect to host xxxx port 22: Connection refused Error
- Sort ls command by last modified date and time
- Create Nested Directories using mkdir Command
- How to Exit a File in Terminal (Bash/Zsh)
- Command to know the installed Debian version?
- How to connect to SSH port other than default 22
- How to save a file in Nano Editor and Exit
- Install OpenSSL on Linux/Ubuntu
More Posts:
- Spring Boot: Transactions Management with JDBCTemplate Example - Java
- 30+ Zoom video communications application shortcuts for macOS - MacOS
- Java JDK 21 LTS Version Release Date (General Availability) - Java-JDK-21
- Add Blank Lines Between Each Lines in Notepad++ - NotepadPlusPlus
- Share Multiple Images in WhatsApp using Android Intent - WhatsApp
- The default interactive shell is now zsh. [macOS] - MacOS
- How to Download Microsoft Excel on Mac - MacOS
- How to URLEncode a Query String in Python - Python