Android

Bash shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

Πίνακας περιεχομένων:

Anonim

Αυτή η ακολουθία χαρακτήρων ( #! ) Ονομάζεται shebang και χρησιμοποιείται για να πει το λειτουργικό σύστημα που ο διερμηνέας θα χρησιμοποιήσει για την ανάλυση του υπόλοιπου αρχείου.

Shebang Οδηγία Διερμηνέων

Η οδηγία διερμηνείας του Shebang λαμβάνει την ακόλουθη μορφή:

#!interpreter

  • Η οδηγία πρέπει να είναι η πρώτη γραμμή στη δέσμη ενεργειών. Η οδηγία πρέπει να ξεκινάει με το shebang #! Ο λευκός χώρος μετά τους χαρακτήρες shebang είναι προαιρετικός. Ο ερμηνευτής είναι η πλήρης διαδρομή προς ένα δυαδικό αρχείο (ex: /bin/sh , /bin/bash ). Τα επιχειρήματα των ερμηνευτών είναι προαιρετικά.

Παραδείγματα:

  • #!/bin/bash - Χρησιμοποιεί bash για την ανάλυση του αρχείου. #!/usr/bin/env perl - Χρησιμοποιεί την εντολή env για να βρει τη διαδρομή προς το εκτελέσιμο αρχείο perl . #!/usr/bin/python Εκτελεί το αρχείο χρησιμοποιώντας το δυαδικό αρχείο python .

Χρησιμοποιώντας το Shebang σε Bash Scripts

Εάν δεν έχει οριστεί ένα shebang και ο χρήστης που χρησιμοποιεί το σενάριο Bash χρησιμοποιεί ένα άλλο Shell, η δέσμη ενεργειών θα αναλυθεί από οποιονδήποτε προεπιλεγμένο διερμηνέα χρησιμοποιείται από εκείνο το Shell. Για παράδειγμα, ο προεπιλεγμένος διερμηνέας για bash είναι bash και για zsh είναι sh . Για να διασφαλίσετε ότι η δέσμη ενεργειών σας θα ερμηνεύεται πάντοτε με το Bash θα πρέπει να καθορίσετε την εκτελέσιμη διαδρομή χρησιμοποιώντας το shebang.

Υπάρχουν δύο τρόποι για να χρησιμοποιήσετε την οδηγία Shebang και να ορίσετε τον διερμηνέα.

  1. Χρησιμοποιώντας την απόλυτη διαδρομή προς τη δυαδική βάση bash:

    #!/bin/bash

    Χρήση του βοηθητικού προγράμματος env :

    #!/usr/bin/env bash

Το πλεονέκτημα της χρήσης της δεύτερης προσέγγισης είναι ότι θα ψάξει για το εκτελέσιμο bash στην περιβαλλοντική μεταβλητή $PATH του χρήστη. Εάν υπάρχουν περισσότερα από ένα μονοπάτια για την bash , το πρώτο θα χρησιμοποιηθεί από το σενάριο.

Όταν χρησιμοποιείτε την πρώτη επιλογή για να προσθέσετε μια επιλογή στην προμήθεια του κελύφους Bash, μεταβείτε στον διερμηνέα. Για παράδειγμα, για να εκτελέσετε τη δέσμη ενεργειών σε μια λειτουργία εντοπισμού σφαλμάτων, θα χρησιμοποιούσατε το #!/bin/bash -x . Αν χρησιμοποιείτε τη μέθοδο env τότε πρέπει να χρησιμοποιήσετε το set για να δηλώσετε την επιλογή. Για να ενεργοποιήσετε τη λειτουργία εντοπισμού σφαλμάτων, θα προσθέσετε set -x μετά τη γραμμή shebang.

Παράδειγμα Script

Ας δημιουργήσουμε ένα απλό σενάριο χρησιμοποιώντας shebang που θα εκτυπώσει "Hello, World". Ανοίξτε τον επεξεργαστή κειμένου και επικολλήστε την παρακάτω γραμμή:

nano hello_world Γειά σου Κόσμε

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

Για να μπορέσετε να εκτελέσετε τη δέσμη ενεργειών χωρίς να καθορίσετε τον διερμηνέα από τη γραμμή εντολών, θα χρειαστεί να κάνετε το εκτελέσιμο αρχείο:

chmod +x hello_world

Τώρα αν μπορείτε να εκτελέσετε το σενάριο πληκτρολογώντας ./ ακολουθούμενο από το όνομα του σεναρίου:

./hello_world

Hello, World

Καταργώντας το Σεμπάνγκ

Αν για κάποιο λόγο θέλετε να αντικαταστήσετε το διερμηνέα που έχει οριστεί στη γραμμή Shebang, πρέπει να εκτελέσετε το σενάριο καθορίζοντας ρητά το επιθυμητό κέλυφος.

Για παράδειγμα, για να εκτελέσετε ένα σενάριο που έχει #!/bin/sh καθορίστηκε στη γραμμή Shebang χρησιμοποιώντας το κέλυφος bash θα πληκτρολογήσετε:

bash hello_world

Σημειώστε ότι δεν είναι καλή ιδέα να αντικαταστήσετε τον ερμηνευτή του κελύφους, καθώς μπορεί να οδηγήσει σε απροσδόκητη συμπεριφορά του σεναρίου.

συμπέρασμα

Μέχρι τώρα θα πρέπει να έχετε μια καλή κατανόηση του τι είναι το Shebang και πώς να το χρησιμοποιήσετε στα σενάριά σας Bash.

bash terminal