Skip to content
Λογότυπο GrCode Club σε μαύρο Λογότυπο GrCode Club σε λευκό GrCode Club

GrCode Club

Λογότυπο GrCode Club σε μαύρο Λογότυπο GrCode Club σε λευκό GrCode Club

GrCode Club

  • Αρχική
  • Προγραμματισμός
    • Developer
    • Web Development
    • Γλώσσες Προγραμματισμού
    • Docker
  • Δίκτυα
    • Βασικές Πληροφορίες
    • Πρωτόκολλα Δικτύων
    • Υπηρεσίες & Θύρες
    • Cloud Computing
  • Λειτουργικά Συστήματα
    • Βασικές Πληροφορίες
    • Linux: Οδηγός
    • Microsoft Windows
  • Κυβερνοασφάλεια
    • Βασικές Πληροφορίες
    • Κυβερνοεπιθέσεις
    • Εργαλεία Κυβερνοασφάλειας
  • Hardware
    • Βασικές Πληροφορίες
    • Εξαρτήματα Υπολογιστή
    • Οθόνες & Τηλεοράσεις
    • Υποστήριξη Υπολογιστή
    • Πιστοποίηση IP
  • Κινητά
    • Βασικές Πληροφορίες
    • Android
    • iPhone
  • Κοινότητα
    • Σύνδεση / Λογαριασμός
    • Μέλη
    • Γίνε Content Creator
    • Projects Μελών
    • Ξεκινήστε να Μαθαίνετε
  • Αρχική
  • Προγραμματισμός
    • Developer
    • Web Development
    • Γλώσσες Προγραμματισμού
    • Docker
  • Δίκτυα
    • Βασικές Πληροφορίες
    • Πρωτόκολλα Δικτύων
    • Υπηρεσίες & Θύρες
    • Cloud Computing
  • Λειτουργικά Συστήματα
    • Βασικές Πληροφορίες
    • Linux: Οδηγός
    • Microsoft Windows
  • Κυβερνοασφάλεια
    • Βασικές Πληροφορίες
    • Κυβερνοεπιθέσεις
    • Εργαλεία Κυβερνοασφάλειας
  • Hardware
    • Βασικές Πληροφορίες
    • Εξαρτήματα Υπολογιστή
    • Οθόνες & Τηλεοράσεις
    • Υποστήριξη Υπολογιστή
    • Πιστοποίηση IP
  • Κινητά
    • Βασικές Πληροφορίες
    • Android
    • iPhone
  • Κοινότητα
    • Σύνδεση / Λογαριασμός
    • Μέλη
    • Γίνε Content Creator
    • Projects Μελών
    • Ξεκινήστε να Μαθαίνετε

Linux Bash: Μεταβλητές Περιβάλλοντος, PATH και Ρυθμίσεις

Οι μεταβλητές περιβάλλοντος (environment variables) αποθηκεύουν ρυθμίσεις που μπορούν να χρησιμοποιούν το Shell και οι εφαρμογές, όπως διαδρομές εκτελέσιμων, γλώσσα, προσωρινούς καταλόγους και παραμέτρους εκτέλεσης. Στο Bash μπορείς να ορίζεις μεταβλητές, να τις εξάγεις σε child processes και να διαμορφώνεις τη συμπεριφορά του shell μέσω αρχείων ρυθμίσεων.

Προβολή μεταβλητών

Εμφανίζει όλες τις μεταβλητές περιβάλλοντος.

printenv

Εμφανίζει μία συγκεκριμένη μεταβλητή.

printenv HOME

Εμφανίζει μεταβλητές και συναρτήσεις του Bash.

set

Εμφανίζει την τιμή μιας μεταβλητής.

echo "$HOME"

Δημιουργία και εξαγωγή μεταβλητών

Δημιουργεί shell variable για την τρέχουσα συνεδρία.

APP_MODE=development

Εξάγει μεταβλητή ώστε να είναι διαθέσιμη σε child processes.

export APP_MODE=development

Εξάγει υπάρχουσα μεταβλητή.

export APP_MODE

Αφαιρεί μεταβλητή από το περιβάλλον.

unset APP_MODE

Στο Bash δεν πρέπει να υπάρχουν κενά γύρω από το = κατά την ανάθεση. Η απλή ανάθεση δημιουργεί shell variable, ενώ το export την κάνει environment variable για διεργασίες που ξεκινούν από το συγκεκριμένο shell.

Χρήση μεταβλητών σε εντολές

PROJECT_DIR="$HOME/projects/myapp"
mkdir -p "$PROJECT_DIR"
printf 'Project path: %s\n' "$PROJECT_DIR"

Χρησιμοποίησε διπλά εισαγωγικά γύρω από μεταβλητές όταν περιέχουν paths ή τιμές με κενά. Το ${VARIABLE} βοηθά να ξεχωρίζει καθαρά το όνομα μεταβλητής από γειτονικούς χαρακτήρες.

Η μεταβλητή PATH

Η PATH περιέχει καταλόγους στους οποίους το Shell αναζητά εκτελέσιμα προγράμματα όταν πληκτρολογείς μια εντολή χωρίς πλήρη διαδρομή.

Εμφανίζει το PATH.

echo "$PATH"

Εμφανίζει έναν κατάλογο ανά γραμμή.

printf '%s\n' "${PATH//:/\n}"

Προσθέτει προσωρινά κατάλογο στην αρχή του PATH.

export PATH="$HOME/bin:$PATH"

Εντοπίζει από πού εκτελείται μια εντολή.

command -v python3

Απόφυγε να προσθέτεις μη έμπιστους ή εγγράψιμους από όλους καταλόγους στο PATH. Μια κακόβουλη εκτελέσιμη με το ίδιο όνομα μπορεί να εκτελεστεί αντί για το αναμενόμενο πρόγραμμα.

Προσωρινές και μόνιμες ρυθμίσεις

Οι μεταβλητές που ορίζονται απευθείας στο Terminal ισχύουν συνήθως μόνο για την τρέχουσα συνεδρία. Για να φορτώνονται σε επόμενες συνεδρίες, μπορείς να τις προσθέσεις στο κατάλληλο αρχείο εκκίνησης του shell.

~/.bashrc

Το ~/.bashrc χρησιμοποιείται συνήθως από interactive μη-login Bash shells. Είναι κατάλληλο για aliases, shell functions και ρυθμίσεις prompt.

~/.profile

Το ~/.profile διαβάζεται σε login sessions από shells που ακολουθούν τη σχετική σύμβαση. Είναι συνηθισμένο σημείο για ρυθμίσεις περιβάλλοντος χρήστη.

~/.bash_profile και ~/.bash_login

Σε login Bash, αν υπάρχει ~/.bash_profile, χρησιμοποιείται αντί για ~/.bash_login και ~/.profile. Πολλά συστήματα ρυθμίζουν το ~/.bash_profile ώστε να φορτώνει και το ~/.bashrc.

Επεξεργασία αρχείων ρυθμίσεων

nano ~/.bashrc

Πρόσθεσε στο τέλος του αρχείου μόνο τις ρυθμίσεις που χρειάζεσαι. Για παράδειγμα:

export EDITOR=nano
export PROJECT_ENV=development
alias ll='ls -lah'

Φόρτωσε ξανά τις ρυθμίσεις στην τρέχουσα συνεδρία:

source ~/.bashrc

Aliases και συναρτήσεις Bash

Δημιουργεί προσωρινό alias για προβολή αρχείων.

alias ll='ls -lah'

Εμφανίζει τα ορισμένα aliases.

alias

Αφαιρεί alias από την τρέχουσα συνεδρία.

unalias ll

Για μόνιμη χρήση, τοποθέτησε τα aliases στο ~/.bashrc. Για πιο σύνθετες επαναλαμβανόμενες λειτουργίες μπορείς να δημιουργήσεις Bash function.

mkcd() {
  mkdir -p -- "$1" && cd -- "$1"
}

Μεταβλητές και υποκατάσταση

Εμφανίζει τον προσωπικό κατάλογο χρήστη.

echo "$HOME"

Εμφανίζει το τρέχον shell.

echo "$SHELL"

Εμφανίζει το όνομα χρήστη.

echo "$USER"

Εμφανίζει τον προσωρινό κατάλογο.

echo "$TMPDIR"

Εκτελεί εντολή και αποθηκεύει το αποτέλεσμα.

KERNEL=$(uname -r)

Ασφαλής χρήση secrets

Μην αποθηκεύεις API keys, passwords ή tokens σε αρχεία που ανεβαίνουν σε Git repositories ή είναι προσβάσιμα από άλλους χρήστες. Χρησιμοποίησε κατάλληλο secret manager ή προστατευμένο αρχείο ρυθμίσεων με περιορισμένα permissions.

chmod 600 ~/.env

Το chmod 600 περιορίζει την πρόσβαση στο αρχείο στον ιδιοκτήτη. Δεν αποτελεί από μόνο του ολοκληρωμένο σύστημα διαχείρισης secrets.

Έλεγχος ρυθμίσεων Bash

Εμφανίζει την έκδοση Bash.

bash --version

Εμφανίζει ποιο configuration αρχείο φορτώνει μια login συνεδρία μέσω του περιβάλλοντος.

shopt -q login_shell && echo login || echo non-login

Εμφανίζει το ιστορικό εντολών.

history

Ελέγχει τη σύνταξη ενός Bash script χωρίς να το εκτελέσει.

bash -n script.sh

Μόνιμες μεταβλητές περιβάλλοντος ανά χρήστη

Οι μεταβλητές περιβάλλοντος μπορούν να οριστούν προσωρινά στο τρέχον shell, για μία εντολή ή μόνιμα στα αρχεία εκκίνησης του shell. Σε Bash, το ~/.bashrc χρησιμοποιείται συνήθως για interactive shells, ενώ το ~/.profile ή ~/.bash_profile μπορεί να χρησιμοποιείται κατά τη σύνδεση. Η ακριβής συμπεριφορά εξαρτάται από το αν το shell είναι login ή interactive.

# Προσωρινή μεταβλητή
export APP_ENV=development

# Προβολή τιμής
printf '%s\n' "$APP_ENV"

# Προσθήκη προσωπικού bin στο PATH
export PATH="$HOME/.local/bin:$PATH"

# Έλεγχος διαδρομής εντολής
command -v python3

PATH: συχνά λάθη και έλεγχος

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

Social Media

  • Facebook
  • X
  • Instagram
  • TikTok
  • YouTube
  • Linkedin
  • Discord
Email Επικοινωνίας

info@grcodeclub.gr

Για Τεχνικά Θέματα

support@grcodeclub.gr

Πολιτική Cookies (ΕΕ)

Πολιτική απορρήτου

Όροι και Προϋποθέσεις

GrCode Club by @dimitridedou
Διαχείριση Συγκατάθεσης
Για να παρέχουμε την καλύτερη εμπειρία, χρησιμοποιούμε τεχνολογίες όπως cookies για την αποθήκευση ή/και την πρόσβαση σε πληροφορίες συσκευών. Η συγκατάθεση για τις εν λόγω τεχνολογίες θα μας επιτρέψει να επεξεργαστούμε δεδομένα προσωπικού χαρακτήρα, όπως συμπεριφορά περιήγησης ή μοναδικά αναγνωριστικά σε αυτόν τον ιστότοπο. Η μη συγκατάθεση ή η ανάκληση της συγκατάθεσης, μπορεί να επηρεάσει αρνητικά ορισμένες λειτουργίες και δυνατότητες.
Λειτουργικά Πάντα ενεργό
Η τεχνική αποθήκευση ή πρόσβαση είναι απολύτως απαραίτητη για τον νόμιμο σκοπό της δυνατότητας χρήσης συγκεκριμένης υπηρεσίας που ζητείται ρητά από τον συνδρομητή ή τον χρήστη ή με αποκλειστικό σκοπό τη μετάδοση επικοινωνίας μέσω δικτύου ηλεκτρονικών επικοινωνιών.
Προτιμήσεις
Η τεχνική αποθήκευση ή πρόσβαση είναι απαραίτητη για τον νόμιμο σκοπό της αποθήκευσης προτιμήσεων που δεν ζητούνται από τον συνδρομητή ή τον χρήστη.
Στατιστικά
Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για στατιστικούς σκοπούς. Η τεχνική αποθήκευση ή πρόσβαση που χρησιμοποιείται αποκλειστικά για ανώνυμους στατιστικούς σκοπούς. Χωρίς κλήτευση, η εθελοντική συμμόρφωση εκ μέρους του Παρόχου Υπηρεσιών Διαδικτύου ή πρόσθετες καταγραφές από τρίτο μέρος, οι πληροφορίες που αποθηκεύονται ή ανακτώνται για το σκοπό αυτό από μόνες τους δεν μπορούν συνήθως να χρησιμοποιηθούν για την αναγνώρισή σας.
Εμπορικής Προώθησης
Η τεχνική αποθήκευση ή πρόσβαση απαιτείται για τη δημιουργία προφίλ χρηστών, για την αποστολή διαφημίσεων ή για την καταγραφή του χρήστη σε έναν ιστότοπο ή σε διάφορους ιστότοπους για παρόμοιους σκοπούς εμπορικής προώθησης.
  • Διαχείριση επιλογών
  • Διαχείριση υπηρεσιών
  • Manage {vendor_count} vendors
  • Διαβάστε περισσότερα για αυτούς τους σκοπούς
Προβολή προτιμήσεων
  • {title}
  • {title}
  • {title}