ขออภัยถ้านี่เป็นคำถามที่โง่ แต่ฉันค้นหาเกี่ยวกับมันโดยไม่ประสบความสำเร็จ
บรรทัดที่สองทำหน้าที่อะไรกันแน่:
#!/bin/sh
cd ${0%/*} || exit 1
ฉันรู้ว่าคนแรกคือ shebang ที่พยายามที่สองที่จะเปลี่ยนไดเรกทอรี ${0%/*}
แต่ส่วนที่ทำให้เกิดความสับสนคือ
คุณช่วยอธิบายบรรทัดที่สองให้ฉันหน่อยได้ไหม
dirname
ในตัว แน่นอนว่ามันไม่ได้อยู่ใน Bash v4.3.11 ซึ่งเป็นเชลล์เริ่มต้นใน Ubuntu Trusty
dirname
ไม่ใช่เชลล์ในตัว
dirname
คำสั่งในตัวเช่น$(dirname $0)