Khái niệm về Shebang
Trong hệ thống Unix (Linux, macOS) shebang là dòng đầu tiên của một file script (file chạy
được), dòng đó bắt đầu bằng cặp ký tự #!
Sau ký hiệu #!
là tên chương trình thông dịch sẽ nạp và chạy code trong script, cú pháp như sau
#!interpreter [optional-arg]
Trong đó:
interpreter
là đường dẫn đến trình thông dịch[optional-arg]
các thiết lập nếu cần thiết, tùy thuộc vàointerpreter
Danh sách Shebang thông dụng
Danh sách các shebang theo loại trình thông dịch:
- Shell (POSIX Shell) -
#!/bin/sh
- BASH -
#!/bin/bash
#!/usr/bin/env bash
- Busybox - #!/bin/busybox sh
- ASH - #!/bin/ash
- awk - #!/usr/bin/awk -f
- csh -
- #!/bin/csh
- #!/bin/csh -f
- Groovy -
- #!/usr/local/bin/groovy
- #!/usr/bin/env groovy
- JavaScript -
- #!/usr/bin/env jsc
- #!/usr/bin/env node
- #!/usr/bin/env rhino
- Lisp - #!/usr/local/bin/sbcl --script #//Steel Bank Common Lisp
- Lua -
- #!/usr/bin/env lua
- #!/usr/bin/lua
- make - #!/usr/bin/make -f
- Perl -
- #!/usr/bin/env perl
- #!/usr/bin/perl
- #!/usr/bin/perl -T #//taint checks
- PHP -
- #!/usr/bin/php
- #!/usr/bin/env php
- Python - #!/usr/bin/env python
- Python3 - #!/usr/bin/env python3
- Python3.4 - #!/usr/bin/env python3.4
- Ruby -
- #!/usr/bin/env ruby
- #!/usr/bin/ruby
- sed -
- #!/bin/sed -f
- #!/usr/bin/sed -f
- #!/usr/bin/env sed
- Solaris POSIX Shell - #!/usr/xpg4/bin/sh
- Tcsh - #!/bin/tcsh