문제

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

도움이 되었습니까?

해결책 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.

다른 팁

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 "$$"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top