Nếu một kịch bản /path/to/foo
bắt đầu bằng #!/bin/bash
, thì thực thi /path/to/foo arg1 arg2
là tương đương với thực thi /bin/bash /path/too/foo arg1 arg2
. Nếu dòng shebang là #!/bin/bash -ex
, nó tương đương với thực thi /bin/bash -ex /path/too/foo arg1 arg2
. Tính năng này được quản lý bởi kernel.
Lưu ý rằng bạn chỉ có thể có một đối số trên dòng shebang: một số thông báo (chẳng hạn như Linux) chỉ chấp nhận một đối số, do đó #!/bin/bash -e -x
sẽ dẫn đến bash nhận đối số năm ký tự -e -x
(lỗi cú pháp) thay vì hai đối số -e
và -x
.
Đối với hệ vỏ Bourne sh
và các vỏ có nguồn gốc như POSIX sh, bash, ksh và zsh:
-e
có nghĩa là nếu bất kỳ lệnh nào thất bại (mà nó chỉ ra bằng cách trả về trạng thái khác không), tập lệnh sẽ chấm dứt ngay lập tức.
-x
làm cho vỏ để in một dấu vết thực hiện.
Các chương trình khác có thể hiểu các tùy chọn này nhưng với ý nghĩa khác nhau.