Android

Bash Shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

Daftar Isi:

Anonim

Urutan karakter ini ( #! ) Disebut shebang dan digunakan untuk memberi tahu sistem operasi juru bahasa mana yang akan digunakan untuk mem-parsing sisa file.

Petunjuk Juru Bahasa Shebang

Arahan juru bahasa Shebang mengambil bentuk berikut:

#!interpreter

  • Arahan harus menjadi baris pertama dalam skrip. Arahan harus dimulai dengan shebang #! Spasi putih setelah karakter shebang adalah opsional. Interpreter adalah path lengkap ke file biner (mis: /bin/sh , /bin/bash ). Argumen interpreter adalah opsional.

Contoh:

  • #!/bin/bash - Menggunakan bash untuk mengurai file. #!/usr/bin/env perl - Menggunakan perintah env untuk menemukan path ke perl dapat dieksekusi. #!/usr/bin/python Menjalankan file menggunakan biner python .

Menggunakan Shebang dalam Skrip Bash

Jika shebang tidak ditentukan dan pengguna yang menjalankan skrip Bash menggunakan Shell lain, skrip tersebut akan diuraikan oleh apa pun penerjemah default yang digunakan oleh Shell itu. Misalnya, juru bahasa default untuk bash adalah bash dan untuk zsh adalah sh . Untuk memastikan bahwa skrip Anda akan selalu ditafsirkan dengan Bash, Anda harus menentukan jalur yang dapat dieksekusi menggunakan shebang.

Ada dua cara untuk menggunakan arahan Shebang dan mengatur penerjemah.

  1. Menggunakan path absolut ke biner bash:

    #!/bin/bash

    Menggunakan utilitas env :

    #!/usr/bin/env bash

Keuntungan menggunakan pendekatan kedua adalah ia akan mencari bash dapat dieksekusi dalam variabel lingkungan $PATH pengguna. Jika ada lebih dari satu jalur untuk di- bash , yang pertama akan digunakan oleh skrip.

Saat menggunakan opsi pertama untuk menambahkan opsi ke persediaan shell Bash, berikan ke penerjemah. Misalnya, untuk menjalankan skrip dalam mode debug Anda akan menggunakan #!/bin/bash -x . Jika Anda menggunakan metode env maka Anda perlu menggunakan set untuk mendeklarasikan opsi. Untuk mengaktifkan mode debug Anda akan menambahkan set -x setelah baris shebang.

Contoh Script

Mari kita buat skrip sederhana menggunakan shebang yang akan mencetak "Halo, Dunia". Buka editor teks Anda dan rekatkan baris berikut:

nano hello_world Halo Dunia

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

Agar dapat menjalankan skrip tanpa menentukan juru bahasa dari baris perintah, Anda harus membuat file tersebut dapat dieksekusi:

chmod +x hello_world

Sekarang jika Anda dapat menjalankan skrip dengan mengetik ./ diikuti dengan nama skrip:

./hello_world

Hello, World

Mengganti Shebang

Jika karena alasan tertentu Anda ingin menimpa set juru bahasa di baris Shebang Anda perlu menjalankan skrip dengan secara eksplisit menentukan shell yang diinginkan.

Misalnya untuk menjalankan skrip yang memiliki #!/bin/sh ditentukan dalam baris Shebang menggunakan bash shell yang Anda ketikkan:

bash hello_world

Harap dicatat, itu bukan ide yang baik untuk mengesampingkan shell interpreter karena dapat menyebabkan perilaku skrip yang tidak terduga.

Kesimpulan

Sekarang Anda harus memiliki pemahaman yang baik tentang apa itu Shebang dan bagaimana menggunakannya dalam skrip Bash Anda.

terminal bash