Sửa lỗi cho tôi nếu tôi sai:
- tập lệnh "sh"! = "bash"
- Kịch bản Linux được viết bằng Bash
- Kịch bản Bash thường
#!/bin/sh
- Trong GNU / Linux,
/bin/sh
là Bash - Trong FreeBSD,
/bin/sh
không phải là bash, đó là sự thậtsh
Vì vậy, nếu tôi muốn sử dụng tập lệnh Linux trong FreeBSD và tôi chạy ./script.sh
trong trình bao, nó sẽ chạy tập lệnh Bash trong "sh" chứ không phải Bash, vì /bin/sh
trong FreeBSD không phải là Bash.
Có cách nào tôi có thể chạy các tập lệnh Bash đó mà không sửa đổi nó không? Vì vậy, không có sửa đổi cho các #!/bin/sh
tuyên bố trong tập tin kịch bản để chỉ ra một nơi khác?
Tôi muốn chạy Bash script máng Zsh, nếu có thể. Không muốn cài đặt Bash và vì Zsh có thể chạy các tập lệnh Bash ...
bash
tập lệnh mà không cần cài đặt bash
" tương đương với câu "Tôi muốn chạy tập lệnh Python mà không cần cài đặt Python". Nếu đó là một bash
tập lệnh, nó sẽ được thực thi bằng bash
trình thông dịch.