Xin lỗi nếu đây là một câu hỏi ngu ngốc, nhưng tôi đã tìm kiếm về nó mà không thành công.
Chính xác thì dòng thứ hai làm gì?
#!/bin/sh
cd ${0%/*} || exit 1
Tôi biết đầu tiên là shebang, thứ hai cố gắng thay đổi thư mục nhưng phần khó hiểu là ${0%/*}.
Bạn có thể vui lòng giải thích cho tôi dòng thứ hai?
dirnameđược tích hợp sẵn? Nó chắc chắn không có trong Bash v4.3.11, đây là lớp vỏ mặc định trong Ubuntu Trusty.
dirnamekhông phải là một vỏ tích hợp.
dirnamelệnh tích hợp như$(dirname $0)