How to change shell to dash from bash

2.3k Views Asked by At

I want to execute some scripts on dash shell compared to standard default bash. This is an example (test.sh)

#!/bin/dash
echo $SHELL 
echo $0

This execution gives me

/bin/bash
./test.sh

as output. I was expecting '/bin/dash' as output.

If this is wrong, can someone let me know how do I actually work on dash. Thanks

3

There are 3 best solutions below

1
On BEST ANSWER

You can validate that you are running dash by adding the command

ps | grep $$

The $$ variable contains the PID of the process of the running shell.

0
On

SHELL environment variable picks up the value from /etc/passwd. (It denotes the path to user's preferred command language interpreter.)

This value wouldn't change if you change the shell in your session or your script.

0
On

This one would show the exact command.

ps o command --no-header --pid "$$"