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ào interpreter

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
Đăng ký theo dõi ủng hộ kênh