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