Bash vs. Dash

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 6 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 13 Ενδέχεται 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Βίντεο: Dash Is The Only Acceptable Symlink For /bin/sh

Περιεχόμενο

Το Dash είναι ένα κέλυφος που έχει κακή χρησιμότητα από τα σύγχρονα πρότυπα όταν χρησιμοποιείται ως διαδραστικό κέλυφος σύνδεσης, αλλά είναι ταχύτερο για την εκτέλεση POSIX-συμβατών σεναρίων από το Bash.Bash έχει πολλά περισσότερα χαρακτηριστικά και είναι ιδιαίτερα προτιμότερο όταν χρησιμοποιείται διαδραστικά (αν και περιέχει περισσότερες δυνατότητες προγραμματισμού). Το Bash παρέχεται συνήθως ως προεπιλεγμένο διαδραστικό κέλυφος, ενώ το Debian και τα παράγωγα του Debian όπως το Ubuntu παρέχουν το Dash ως εφαρμογή / bin / sh, προκαλώντας έτσι σενάρια με #! / Bin / sh shebangs να ερμηνεύονται από Dash και όχι από Bash από προεπιλογή. Για τα scripts που απαιτούν Bash για εκτέλεση, το Bash θα εξακολουθεί να χρησιμοποιείται ως διερμηνέας αν το shebang είναι #! / Bin / bash. Ένας μεγάλος αριθμός παρουσιών κελύφους ξεκινούν ως μέρος της διαδικασίας εκκίνησης του Ubuntu. Αντί να αλλάξετε καθένα από αυτά ξεχωριστά για να εκτελεστεί σαφώς κάτω από το / bin / dash, μια αλλαγή που θα απαιτούσε σημαντική συνεχή συντήρηση και η οποία θα μπορούσε να υποχωρήσει εάν δεν είχε δοθεί ιδιαίτερη προσοχή, η βασική ομάδα ανάπτυξης του Ubuntu θεώρησε ότι ήταν καλύτερο απλά να αλλάξει το προεπιλεγμένο κέλυφος.


Περιεχόμενο: Διαφορά μεταξύ Bash και Dash

  • Τι είναι ο Bash;
  • Τι είναι η Dash;
  • Βασικές διαφορές
  • Εξήγηση βίντεο

Τι είναι ο Bash;

Το Bash είναι το κέλυφος Bourne-Again. Το Bash είναι ένα εξαιρετικό πλήρες κέλυφος κατάλληλο για διαδραστική χρήση. πράγματι, εξακολουθεί να είναι το προεπιλεγμένο κέλυφος σύνδεσης. Το Bash είναι σχεδιασμένο για ανθρώπους και παρέχει μια υπερσύγχρονη λειτουργικότητα POSIX.

Τι είναι η Dash;

Η παύλα είναι η Debian Almquist Shell. Dash υλοποιεί το ενιαίο Unix Spec, τότε δεν χρειάζεται να κάνει περισσότερα για να ανταποκριθεί σε αυτό το επίσημο spec. Η παύλα αφορά τη μη αλληλεπίδραση εκτέλεσης δέσμης ενεργειών. Το Dash υποστηρίζει μόνο λειτουργίες συμβατές με POSIX.

Βασικές διαφορές

  1. Το Bash είναι ένα εξαιρετικό πλήρες κέλυφος κατάλληλο για διαδραστική χρήση. πράγματι, εξακολουθεί να είναι το προεπιλεγμένο κέλυφος σύνδεσης. Ωστόσο, είναι αρκετά μεγάλο και αργό να ξεκινήσει και να λειτουργήσει σε σύγκριση με την παύλα.
  2. Dash υλοποιεί το ενιαίο Unix Spec, τότε δεν χρειάζεται να κάνει περισσότερα για να ανταποκριθεί σε αυτό το επίσημο spec. Αλλά μερικοί από τους "bashisms" είναι βολικοί, θα προσθέσουν λίγο στο μέγεθος της παύλας, και θα κάνει πολύ πιο εύκολο να χρησιμοποιήσετε παύλα ως εναλλακτική λύση.
  3. Πολλά σενάρια κελυφών που περιέχουν το σύνολο εντολών -k δεν υποστηρίζονται από παύλα αλλά υποστηρίζονται από bash.
  4. Bash Υποστηρίζει τις ίδιες εντολές δέσμης ενεργειών όπως το Dash καθώς και τις δικές του πρόσθετες εντολές, το Dash Only υποστηρίζει λειτουργίες συμβατές με POSIX.
  5. Το Bash είναι σχεδιασμένο για ανθρώπους και παρέχει μια υπερσύγχρονη λειτουργικότητα POSIX, το Dash είναι για μη διαδραστική εκτέλεση σεναρίων.
  6. Το Bash υποστηρίζει την ολοκλήρωση της καρτέλας και υποστηρίζει ένα ιστορικό εντολών.
  7. Η παύλα είναι μόνο 100Κ σε σύγκριση με 900K του Bash.
  8. Το Dash είναι για ταχύτερη εκκίνηση και εκτέλεση σεναρίων σε σύγκριση με το Bash.