Làm thế nào tôi có thể tìm hiểu xem một kịch bản được viết bằng bashhoặc sh?
Dòng đầu tiên của tập lệnh không hữu ích ở đây, vì trên Linux, tập lệnh bash có dòng này:
#!bin/sh
Trên thực tế, có nhiều bản phân phối /bin/shlà bash (có thể /bin/shlà một liên kết đến /bin/bashtrong các bản phân phối đó), chứ không phải Bourne Shell. Vì vậy, nếu tôi cố chạy một tập lệnh được viết bằng bash, ví dụ FreeBSD, kết quả không được xác định, vì /bin/shtrong FreeBSD là Bourne Shell, và không bash.
Có cách nào dễ dàng để xác định nếu một tập lệnh là bash hoặc sh?
Có một số điều đặc biệt trong cú pháp?