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

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

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

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

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

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

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

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)

Advertisement

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

Add yours

  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
    
    1. Χρησιμοποιείς και στα δύο το ίδιο shell (bash)? Δες, αν διαβάζουν τα ίδια profile

    1. Τίποτα ! Το Bash scripting, αν δεν έχεις ασχοληθεί, θα σου λύσει τα χέρια.

    1. Η εντολή είναι η resize. Μια χαρά δουλέυει σε Arch

      resize          
      COLUMNS=80;
      LINES=24;
      export COLUMNS LINES;
      
  2. Aς υποθέσουμε ότι την έξοδο του script αλλά με αρνητικά χρώματα ώστε να μην έχουμε σπατάλη μαύρου χρώματος σε περίπτωση εκτύπωσης θέλουμε να την μετατρέψουμε σε εικόνα ή να την εκτυπώσουμε στον εκτυπωτή μας. Υπάρχει τρόπος να γίνει αυτό τροποποιώντας κατάλληλα το script; Ευχαριστώ!

    1. Θέλω το αποτέλεσμα του script που εμφανίζεται στο τερματικό για κάποια συγκεκριμένη περιοχή να το εξάγω σε μορφή jpg ή png ώστε να μπορώ να το εκτυπώσω. Υπάρχει τρόπος να μετατραπεί το script για να παραχθεί το αποτέλεσμα που θέλω. Δεν θέλω να μπω σε διαδικασία screenshot ή αν δεν γίνεται αλλιώς παρά μόνο με screenshot πάλι θα ήθελα αν γίνεται η διαδικασία αυτή να ενσωματωθεί στο script. Επίσης στο terminal έχω μαύρο φόντο και λευκά γράμματα που σημαίνει ότι αν εκτυπωθεί η εμφάνιση αυτή θα ξοδεύει πολύ χρώμα ο εκτυπωτής γι’ αυτό και η προηγούμενη ερώτηση για αρνητικά χρώματα. Ευχαριστώ!

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

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

Λογότυπο WordPress.com

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

Φωτογραφία Facebook

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

Σύνδεση με %s

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.

Create a website or blog at WordPress.com

ΠΑΝΩ ↑

Αρέσει σε %d bloggers: