Φτιάξτε δικές σας εντολές για το τερματικό του Linux


Οι λεγόμενες εντολές τερματικού στο Linux δεν είναι παρά ένα σύνολο εφαρμογών / προγραμμάτων /σεναρίων κελύφους ή λογισμικών τα οποία είναι συνήθως εγκατεστημένα στην διαδρομή /usr/local/bin/. Πολλές όμως εντολές είναι scripts (σενάρια / αλληλουχία διαφορετικών εντολών κελύφους) τα οποία συνδυάζουν άλλες εφαρμογές σε μία. Ας φτιάξουμε λοιπόν τις δικές μας εντολές.

Για να παινέψουμε και το σπίτι μας, μια εφαρμογή που είναι ένα σύνολο άλλων εφαρμογών / εντολών είναι το Ucaresystem-core (για Ubuntu / Debian / Linux Mint) το οποίο είναι ένα script και απλά είναι πακεταρισμένο για εύκολη εγκατάσταση και χρήση. Εδώ δεν θα δούμε κάτι τόσο περίπλοκο αλλά κάτι πιο απλό για να πάρετε μια ιδέα.

Πολλές εντολές σε μια…

Πρώτα ξεκινάμε από ένα πρόβλημα που θέλουμε να λύσουμε… (αν δεν έχουμε, σκαρφιζόμαστε ένα 😛 )

Υπάρχει μια εντολή που μου δίνει την πρόβλεψη του καιρού από το τερματικό (το είχαμε δει και στο άρθρο «Τι καιρό κάνει στην πόλη μου;«) . Δυστυχώς θα πρέπει να αλλάξω τις διαστάσεις του τερματικού πρώτα. Δεν θα ήταν καλό να μου τις άλλαζε; Αλλά δεν το κάνει.

Θα φτιάξω λοιπόν την δικιά μου εντολή! Είναι πολύ εύκολο. Απλά βάζουμε τις εντολές σε ένα αρχείο. Ανοίγουμε ενα τερματικό και γράφουμε

nano ombrela

και βάζουμε στο αρχείο ombrela τα παρακάτω:

#!/bin/bash

# Αλλάξε τις διαστάσεις
# και κρύψε την έξοδο της εντολής
resize -s 40 125 > /dev/null

# Δείξε τον καιρό
curl http://wttr.in/irakleion

Όποια γραμμή ξεκινά με # είναι σχόλιο και μπορούμε να γράψουμε ότι θέλουμε (ή να μην τα γράψουμε καθόλου). Εκτός από την πρώτη γραμμή που λέει ότι το αρχείο είναι πρόγραμμα, γραμμένο σε γλώσσα bash που είναι η γλώσσα του τερματικού (τεχνικά γλώσσα του κελύφους). Μετά ακολουθούν οι εντολές όπως θα τις γράφαμε στο τερματικό.

Το τερματικό κρύβει πίσω του μια ολόκληρη γλώσσα προγραμματισμού. Αλλά αρκεί για την ώρα να γράψουμε τις εντολές όπως θα ήταν αν τις γράφαμε κάθε φορά με το χέρι.

Μέτα που θα το σώσουμε θα πρέπει να πούμε ότι είναι μια εντολή. Αυτό κάνει η εντολή:

chmod +x ombrela

Και το τρέχουμε για δοκιμή με την εντολή:

./ombrela

Αν όλα πάνε καλά ήρθε η ώρα να προσθέσουμε την εντολή στο σύστημα. Απλά θα την βάλουμε σε ένα ειδικό φάκελο (που είναι στο λεγόμενο PATH). Θα πρέπει να δώσεις την εντολή:

sudo mv ombrela /usr/local/bin

Συγχαρητήρια! Μόλις πρόσθεσες μια νέα εντολή στο σύστημα! Τώρα μπορείς να τρέχεις την εντολή, από όποια διαδρομή και να βρίσκεσαι απλά γράφοντας » ombrela »

Με αυτόν τον απλό τρόπο μπορούμε να πακετάρουμε πολλές εντολές σε μία. Και μπορούμε να κάνουμε πολλά άλλα πράγματα αν μάθουμε την γλώσσα. Οι παλιοί ίσως να θυμούνται το DOS και τα αρχεία BAT. Κάτι τέτοιο είναι, μόνο που η γλώσσα του τερματικού είναι μια πλήρης γλώσσα που αξίζει τον κόπο να μάθεις τουλάχιστον τα βασικά.


Η σειρά άρθρων #cinnamon_linux_tips και #linuxmint_tips είναι μια σειρά μικρών και χρήσιμων συμβουλών, όπως δημοσιεύθηκαν στην κοινότητα Linux Mint και αντιγράφτηκαν εδώ με την σύμφωνη γνώμη του Διόνυσου Ασφοδελάκη (Talos)

Advertisements

7 thoughts on “Φτιάξτε δικές σας εντολές για το τερματικό του Linux

  1. Μια εκδοχή του παραπάνω script, όπου μπορείς να θέσεις default τοποθεσία ή να ζητήσεις τον καιρό για μια άλλη πόλη. Πχ:

    ombrela Λάρισα

    #!/bin/bash
    
    # Αλλάξε τις διαστάσεις
    # και κρύψε την έξοδο της εντολής
    resize -s 40 125 > /dev/null
    
    # Δείξε τον καιρό
    # Αν δε δοθεί περιοχή επιστρέφει την default
    default="Θεσσαλονίκη"
    if [ -z $1 ]; then
        curl http://wttr.in/~$default
    else  
        curl http://wttr.in/~$1
    fi
    
    exit 0
    

Απορίες, παρατηρήσεις, ιδέες... Ελεύθερα ! Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s