스크립트 이름만 출력하려면 어떻게 해야 하나요?

스크립트 이름만 출력하려면 어떻게 해야 하나요?
[username@notebook ~]$ cat foo.sh 
#!/bin/bash

echo "$0"
[username@notebook ~]$ ./foo.sh
./foo.sh
[username@notebook ~]$ 

질문: "foo.sh"를 어떻게 출력하나요? 그것이 어떻게 수행되든 상관없습니다.

답변1

사용basename:

#!/bin/bash

basename -- "$0"

변수에 할당하려면 다음을 수행하십시오.

my_name=$(basename -- "$0")

답변2

POSIXly, 당신은 단지 필요합니다매개변수 확장:

#!/bin/bash

printf '%s\n' "${0##*/}"

관련 정보