Γρήγορος οδηγός σε επιχειρήματα γραμμής εντολών σε Ruby

click fraud protection

Πολλά Ρουμπίνι τα σενάρια δεν έχουν κείμενο ή γραφικές διεπαφές. Απλώς τρέχουν, κάνουν τη δουλειά τους και στη συνέχεια εξέρχονται. Για να επικοινωνήσουν με αυτά τα σενάρια για να αλλάξουν τη συμπεριφορά τους, πρέπει να χρησιμοποιηθούν επιχειρήματα γραμμής εντολών.

Η γραμμή εντολών είναι ο τυπικός τρόπος λειτουργίας για τις εντολές UNIX και από τότε που η Ruby χρησιμοποιείται ευρέως UNIX και UNIX (όπως το Linux και το MacOS), είναι αρκετά πρότυπο να συναντήσετε αυτό το είδος πρόγραμμα.

Πώς να παρέχετε επιχειρήματα γραμμής εντολών

Τα επιχειρήματα δέσμης ενεργειών Ruby διαβιβάζονται στο πρόγραμμα Ruby από το κέλυφος, το πρόγραμμα που δέχεται εντολές (όπως bash) στο τερματικό.

Στη γραμμή εντολών, οποιοδήποτε κείμενο ακολουθώντας το όνομα της δέσμης ενεργειών θεωρείται ένα επιχείρημα γραμμής εντολών. Χωρισμένο με κενά, κάθε λέξη ή συμβολοσειρά θα περάσει ως ξεχωριστό επιχείρημα στο πρόγραμμα Ruby.

Το παρακάτω παράδειγμα δείχνει την σωστή σύνταξη που θα χρησιμοποιηθεί για την εκκίνηση του test.rb Ruby script από μια γραμμή εντολών με τα επιχειρήματα test1 και test2.

instagram viewer
$ ./test.rb test1 test2

Ενδέχεται να αντιμετωπίσετε μια κατάσταση στην οποία πρέπει να περάσετε ένα επιχείρημα σε ένα πρόγραμμα Ruby, αλλά υπάρχει ένα κενό στην εντολή. Πρώτα φαίνεται αδύνατο, αφού το κέλυφος χωρίζει τα επιχειρήματα στα διαστήματα, αλλά υπάρχει μια διάταξη για αυτό.

Οποιαδήποτε επιχειρήματα σε διπλά εισαγωγικά δεν θα διαχωριστούν. Τα διπλά εισαγωγικά αφαιρούνται από το κέλυφος πριν τα μεταβιβάσει στο πρόγραμμα Ruby.

Το ακόλουθο παράδειγμα μεταβιβάζει ένα μόνο όρισμα στο test.rb Ruby script, test1 test2:

$ ./test.rb "test1 test2"

Τρόπος χρήσης των επιχειρημάτων γραμμής εντολών

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

Αυτό το πρόγραμμα επαναλαμβάνει το ARGVπίνακας και εκτυπώνει το περιεχόμενό του:

#! / usr / bin / env ruby. ARGV θέτει "Argument: # {a}" τέλος

Το παρακάτω είναι ένα απόσπασμα μιας συνεδρίας bash που ξεκινάει αυτό το σενάριο (αποθηκευμένο ως αρχείο test.rb) με μια ποικιλία επιχειρημάτων:

$ ./test.rb test1 test2 "τρεις τέσσερις" Σκεπτικό: test1. Αντικείμενο: test2. Αφορά: τρία τέσσερα
instagram story viewer