Android

Bash shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

Isi kandungan:

Anonim

Urutan aksara ini ( #! ) Dipanggil shebang dan digunakan untuk memberitahu sistem operasi yang digunakan penterjemah untuk mengurai seluruh fail.

Petunjuk Interpreter Shebang

Petunjuk juru tulis Shebang mengambil bentuk berikut:

#!interpreter

  • Arahan itu mestilah baris pertama dalam skrip. Arahan mesti bermula dengan shebang #! Ruang putih selepas aksara shebang adalah optional.Interpreter adalah laluan penuh ke fail binari (ex: /bin/sh , /bin/bash ). Argumen pendaftar adalah pilihan.

Contoh:

  • #!/bin/bash - Menggunakan bash untuk mengurai fail. #!/usr/bin/env perl - Menggunakan perintah env untuk mencari laluan ke laku perl . #!/usr/bin/python Melaksanakan fail menggunakan binary python .

Menggunakan Shebang dalam Bash Scripts

Sekiranya shebang tidak ditentukan dan pengguna yang menggunakan skrip Bash menggunakan Shell yang lain, skrip akan dihuraikan oleh apa sahaja jurubahasa lalai yang digunakan oleh Shell tersebut. Sebagai contoh, jurubahasa lalai untuk bash adalah bash dan untuk zsh sh . Untuk memastikan skrip anda sentiasa ditafsirkan dengan Bash, anda perlu menentukan jalan yang boleh laku menggunakan shebang.

Terdapat dua cara untuk menggunakan arahan Shebang dan tetapkan jurubahasa.

  1. Menggunakan laluan mutlak untuk binari bash:

    #!/bin/bash

    Menggunakan utiliti env :

    #!/usr/bin/env bash

Kelebihan menggunakan pendekatan kedua adalah bahawa ia akan mencari bash boleh dieksekusi dalam pembolehubah persekitaran $PATH . Sekiranya terdapat lebih daripada satu laluan untuk bash , yang pertama akan digunakan oleh skrip.

Apabila menggunakan pilihan pertama untuk menambah pilihan untuk bekalan shell Bash, pasangkannya kepada jurubahasa. Sebagai contoh, untuk menjalankan skrip dalam mod debug anda akan menggunakan #!/bin/bash -x . Jika anda menggunakan kaedah env maka anda perlu menggunakan set untuk mengisytiharkan pilihan. Untuk mendayakan mod debug anda akan menambah set -x selepas baris shebang.

Contoh Skrip

Mari buat skrip mudah menggunakan shebang yang akan mencetak "Hello, World". Buka editor teks anda dan tampal baris berikut:

nano hello_world Hai dunia

#!/bin/bash echo "Hello, World"

Untuk dapat menjalankan skrip tanpa menentukan jurubahasa dari baris arahan, anda perlu membuat fail boleh laku:

chmod +x hello_world

Kini jika anda boleh menjalankan skrip dengan menaip ./ diikuti dengan nama skrip:

./hello_world

Hello, World

Mengatasi Shebang

Jika atas sebab tertentu anda ingin mengatasi jurubahasa yang ditetapkan dalam baris Shebang, anda perlu menjalankan skrip dengan jelas menyatakan cermin yang dikehendaki.

Sebagai contoh untuk menjalankan skrip yang mempunyai #!/bin/sh dinyatakan dalam baris Shebang menggunakan shell bash anda taipkan:

bash hello_world

Sila ambil perhatian, bukan idea yang baik untuk menimpa jurubahasa shell kerana ia boleh menyebabkan tingkah laku skrip tidak dijangka.

Kesimpulannya

Sekarang anda harus mempunyai pemahaman yang baik tentang apa yang Shebang dan cara menggunakannya dalam skrip Bash anda.

terminal bash