จะพิมพ์เฉพาะชื่อสคริปต์ได้อย่างไร


9
[username@notebook ~]$ cat foo.sh 
#!/bin/bash

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

คำถาม : ฉันจะส่งออก "foo.sh" ได้อย่างไร? ไม่ว่ามันจะถูกประหารชีวิตอย่างไร

คำตอบ:


22

ใช้basename:

#!/bin/bash

basename -- "$0"

หากคุณต้องการกำหนดให้ตัวแปรคุณต้องทำ:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.