Προς το περιεχόμενο

Ultimate shell: bash/fish/zsh/csh/whatever


Προτεινόμενες αναρτήσεις

Δημοσ.

Δεν είδα να υπάρχει παρόμοιο θέμα κ μιας και είμαι bash hater θα πω λίγα λόγια για το αγαπημένο μου shell το zsh.

Είναι το υπέρτατο, καλυτερότερο που υπάρχει με χαρακτηριστικά όπως:

  • Άψογο autocompletion
  • theming
  • syntax highlighting
  • native array support σε scripts
  • git suppport
  • globbing
  • δε χρειάζεται να κάνεις cd /blah/blah αρκει το /blah/blah

 

κ.α με τη καλύτερη κοινότητα προγραμματιστών(ένιωσα σαν να έγινα μέλος μιας αίρεσης, ενός shadow network που δεν ήξερα καν οτι υπήρχε :-D ).

Δημοσ.

Posix compatible είναι.

Σημείωση δεν είμαι bash hater απλά πίστευα κ πιστεύω ότι έχει security vulnerabilities. Τώρα για το διάβασμα μη δίνεις όρκο εκτός κ αν γράφεις άπειρα scripts ολημερίς.

Δημοσ.

Συμφωνούμε οτι zsh δηλαδη; Κανας άλλος κάποιο άλλο δε χρησιμοποιεί;

Προσωπικα κ εγω σε 256 colored terminals χρησιμοποιώ ohmyzsh, σε <256 χρησιμοποιώ ένα custom αλλά μάλλον θα το αλλάξω κ αυτο με ohmyzsh με δαιφορετικό theme , πλέον είμαι εξαρτημένος με το syntax highlighting plugin.

Δημοσ.

Να ρωτησω κατι για το autocompletion που με απασχολει καιρο τωρα? Το zsh μπορει να κανει το παρακατω:

Να δωσω

mpv --play [tab key]
και να το συμπληρωσει σε

mpv --playlist
?

MIA παραμετρος του mpv ξεκιναει απο "--play", η "--playlist".

 

Γιατι το bash εδω δεν το κανει και εχω το bash-completion εγκατεστημενο. Επισης, γιατι συμπληρωνει αυτο

apt-cache show tade {tab key}
και το κανει πχ

apt-cache show tadepaketo
σαν απλος χρηστης και οχι σαν root?
Δημοσ.

 Δοκίμασε το ohmyzsh τα έχει σχεδόν έτοιμα, εσυ επιλέγεις theme, modules στο .zshrc κ αντι για bash_profile έχεις .zprofile. Το /etc/profile γίνεται κανονικα source δεν αλλάζει κάτι άλλο.

 Για το bash completion δε γνωρίζω γιατι έχει αυτη τη συμπεριφορά, λογικά αυτο γίνεται με sudo(τα ίδια είναι κ εδω με zsh) αν πας με su και έχεις αντίστοιχο .bashrc ή .zshrc για το root θα γίνεται

Δημοσ.

Εγώ χρησιμοποιώ bash χωρίς να εχω δοκιμάσει ποτέ κάτι άλλο. Κυρίως επειδή σχεδόν παντού το βρίσκω μπροστά μου.

Θα ρίξω μια ματιά και στο zsh.

Με το autocompletion έχω ένα θέμα αλλά δεν ξέρω να είναι ο υπολογιστής, το προγραμμα konsole ή το bash. Όταν πατάω tab πολλές φορές καθυστερεί 3-4 δευτερόλεπτα μεχρι να ολοκληρώσει το path και είναι πολύ σπαστικό.

Θα δω με το zsh αν κάνει το ίδιο.

Δημοσ.

Κάτι ακόμα χρήσιμο για το sudo σε zsh (μπορεί και σε bash, δεν ξέρω):

# When using sudo, use alias expansion (otherwise sudo ignores your aliases) 
alias sudo='sudo '



			
		
Δημοσ.

jim κάτι άλλο γίνεται

 

γράφω

git com [tab]

γίνεται

git commit

μετά

git commit -- [tab]

παίρνω

git commit --

--all               --interactive       --signoff 
--amend             --message=          --squash=
--author=           --no-edit           --template=
--cleanup=          --no-verify         --untracked-files=
--dry-run           --only              --untracked-files 
--edit              --quiet             --verbose 
--file=             --reedit-message=   --verify 
--fixup=            --reset-author      
--include           --reuse-message=  

κάποια στιγμή θέλω να το δοκιμάσω το zsh για το geekiness της υπόθεσης αλλά προς το παρόν έχω βολευτεί και βαριέμαι τη μετάβαση

Δημοσ.

Και σε μενα το κανει, σε bash, και ειναι θεμα πακεταρισματος, επειδη απ'οτι βλεπω

$ dpkg -L git | grep completion
/etc/bash_completion.d
/etc/bash_completion.d/git-prompt
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/git
/usr/share/bash-completion/completions/gitk
Δημοσ.

Χρησιμοποιώ εδώ και καιρό το fish σαν default shell για τον χρήστη μου εδώ και καιρό. Είναι πολύ άνετο για interactive χρήση, αλλά δεν θα το πρότεινα για scripting, καθώς δεν είναι posix-compatible. Έχει πολύ καλή υποστήριξη για autocompletion ootb, καθώς "τραβά" τα switches των εντολών από τις man pages τους και για όποιον θέλει κάτι περισσότερο υπάρχει το oh-my-fish με μπόλικα themes και plugins. Κάτι πολύ ενδιαφέρον είναι το πόσο εύκολα μπορεί να παραμετροποιήσει κάποιος το color theme του.

Θα ήθελα να δοκιμάσω κάποια στιγμή σοβαρά το mksh του mirbsd (Thorsten Glaser), καθώς αναπτύσσεται ενεργά, είναι posix compatible και είναι εδώ και κάποιες εκδόσεις το default shell του android.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...