Question

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

Was it helpful?

Solution 2

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.

OTHER TIPS

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.

This one would show the exact command.

ps o command --no-header --pid "$$"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top