Cela vaut-il la peine de passer à zsh pour une utilisation occasionnelle ?[fermé]

StackOverflow https://stackoverflow.com/questions/43321

  •  09-06-2019
  •  | 
  •  

Question

Le shell par défaut sous Mac OS X est bash, que je suis généralement heureux d'utiliser.Je le prends simplement pour acquis.Ce serait vraiment bien s'il se complétait automatiquement Plus de choses, cependant, et j'ai entendu de bonnes choses à propos de zsh à cet égard.Mais je n'ai pas vraiment envie de passer des heures à bidouiller les paramètres pour améliorer un tout petit peu mon utilisation de la ligne de commande, car ma vie en ligne de commande n'est pas si mauvaise.

(Si je comprends bien, bash peut également être configuré pour une saisie semi-automatique plus intelligente.C'est la configuration qui ne me plaît pas vraiment.)

Passera-t-il à zsh, même dans un petit nombre de cas, me facilite-t-il la vie ?Ou est-ce seulement une meilleure coquille si vous prenez le temps d'apprendre pourquoi c'est mieux?(Des exemples seraient bien aussi :) )


@Rodney Amato & @Vulcain impatientdonner deux bonnes raisons de s'en tenir respectivement à bash et passer à zsh.On dirait que je vais devoir enquêter sur les deux !tant pis :)

Y a-t-il quelqu'un qui a une opinion des deux côtés du débat ?

Était-ce utile?

La solution

Pour une utilisation occasionnelle, il vaut probablement mieux s'en tenir à bash et simplement installer la complétion de bash.

L'installer est assez simple, récupérez le bash-completion-20060301.tar.gz depuis http://www.caliban.org/bash/index.shtml#completion et extrayez-le avec

tar -xzvf bash-completion-20060301.tar.gz

puis copiez le fichier bash_completion/bash_completion dans /etc avec

sudo cp bash_completion/bash_completion /etc

qui vous demandera votre mot de passe.Vous souhaiterez probablement créer un répertoire /etc/bash_completion.d pour tous les scripts de complétion supplémentaires (par exemple, j'ai le script de complétion git là-dedans).

Une fois cela fait, la dernière étape consiste à vous assurer que le fichier .bash_profile dans votre répertoire personnel a

if [ -f /etc/bash_completion ]; then
     . /etc/bash_completion 
fi

dedans pour charger le fichier de complétion lorsque vous vous connectez.

Pour le tester, ouvrez simplement un nouveau terminal et essayez de compléter les CV. Il devrait vous montrer les options du CV dans la liste des complétions.

Autres conseils

Personnellement, j'adore zsh.

En général, vous ne remarquerez probablement pas la différence entre cela et bash, jusqu'à ce que vous vouliez faire rapidement des choses comme le globbing récursif :

  • **/*.c Par exemple.

Ou utilisez des alias de suffixe pour associer des programmes spécifiques à différents suffixes, afin de pouvoir les "exécuter" directement.L'alias ci-dessous vous permet d'"exécuter" un fichier source C à l'invite en tapant simplement ./my_program.c – qui fonctionnera exactement comme si vous tapiez vim ./my_program.c.(Un peu l'équivalent d'un double-clic sur l'icône d'un fichier.)

  • alias -s c=vim

Ou imprimez les noms des fichiers modifiés aujourd'hui :

  • print *(e:age today now:)

Vous pouvez probablement faire toutes ces choses dans bash, mais mon expérience avec zsh est que si je veux faire quelque chose, je peux probablement le trouver dans les amoureux de zsh.Je trouve aussi le livre 'De Bash à Z-Shell' vraiment utile.

Jouer avec un nombre ahurissant d'options est également très amusant !

Passez à zsh.Vous aurez accès à :

  1. zmv:Tu peux faire: zmv '(*).mp3' '$1.wma' pour des milliers de fichiers.
  2. zcalc:Calculatrice extrêmement confortable, meilleure que bc.
  3. zparseopts:One-liner pour analyser les options complexes arbitraires données à votre script.
  4. autopushd:Tu peux toujours faire popd après cd pour revenir à votre répertoire précédent.
  5. Prise en charge de la virgule flottante.C’est nécessaire de temps en temps.
  6. Prise en charge des hachages.Parfois, ils ne constituent qu’un élément clé.

Si tout ce que vous souhaitez utiliser ZSH est une meilleure complétion, la configuration est assez simple.Placez ceci dans votre ~/.zshrc :

autoload -U zutil      # [1]
autoload -U compinit   # [2]
autoload -U complist   # [3]
compinit

Cependant, cela vaut la peine de vérifier toutes les autres fonctionnalités intéressantes du ZSH.L'exemple ci-dessus vous donnera une invite assez simple et bien complétée.Si vous ne voulez pas jouer avec les configurations, mais que vous voulez voir ce que ZSH peut faire pour vous, recherchez "zshrc" sur Google et vous obtiendrez des configurations prêtes à l'emploi pour commencer.

zsh a un élément de configuration de l'interface graphique de la console.Vous pouvez le configurer assez rapidement et facilement sans avoir à manipuler les fichiers de configuration.Je ne pense pas que vous aurez besoin de beaucoup de temps pour le configurer, probablement 10 secondes en utilisant simplement les paramètres par défaut, alors allez-y et essayez-le.

Staale parle d'un programme de type assistant (CUI) qui s'exécute automatiquement la première fois que vous exécutez zsh.Répondez simplement à quelques questions, affichez/modifiez les paramètres par défaut et configurez-les pour vous.

IBM DeveloperWorks dispose d'excellentes ressources sur zsh.

Je n'ai pas utilisé de fonctionnalités très avancées et jusqu'à présent je n'ai pas rencontré de différences sérieuses qui devraient gêner quelqu'un venant de bash.

Quelques exemples:

  • !?modèleu003CTab> Assumer une commande automatique à la dernière commande du modèle de correspondance d'histoire.Très utile.

  • Vous pouvez configurer une invite sur le RHS.Une utilisation consiste à conserver une invite de largeur fixe sur le côté gauche afin que toutes les commandes se soient bien élevées tout en affichant le PWD (ou tout ce qui est de la largeur variable) comme invite à droite.

  • Vous pouvez rediriger les entrées de plusieurs fichiers (pas encore essayé ceci) :chat < fichier1 < fichier2 < fichier3

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top