Chaque fois que je dois faire un petit script bash impliquant des instructions if, en vérifiant les variables vides et les fichiers inexistants, etc. Je me retrouve à frapper google pour un manuel ou un guide bash simple.
Souvent, elles sont beaucoup trop longues et compliquées pour répondre rapidement à la question que j'ai sous la main.
Donc, je pensais qu'il devait y avoir une commande ou une page de manuel qui couvre la syntaxe bash basique (pour des choses comme les instructions if, vérifie les variables vides, les fichiers inexistants, etc.) de manière courte et accessible. Je suis sûr que je n'ai pas découvert la commande (man bash ne semble pas l'être).
Où puis-je trouver ça?
bash
vous pouvez essayerhelp
Réponses:
man bash
est la référence canonique Bash.help help
vous donne de l'aide sur lehelp
Bash intégré, et comment il vous donne de courts messages d'aide sur les autres Bash intégrés, tels quehelp for
..bash_history
. Il y a trop de commandes, différentes syntaxes de paramètres,sed
et leawk
bruit de ligne et d' autres choses à se rappeler jamais tout cela, il est agréable d'avoir une référence personnelle « bien soigné » avec des balises pour consulter.la source
help
.help
qu'il était là. Tant deman bash
lecture inutile inutile !Puisqu'il y en a beaucoup en ligne , voici une suggestion pour vous; Je l'utilise pour toutes sortes de choses.
Créez un répertoire
$HOME/notes
. Ajouter un sous - dossier,bash
. Si vous n'en avez pas$HOME/bin
, créez-en un, ajoutez-le à votre chemin d'accès en utilisant la méthode que vous préférez ( par exemple: dans~/.bashrc
). Ensuite, mettez un script simple là-dedanscmdref.sh
,:Un lien symbolique pour la commodité,
ln -s ~/bin/cmdref.sh ~/bin/cmdref
; J'aime le faire pour que vous puissiez éditer lacmdref.sh
source et un éditeur reconnaîtra toujours le type de fichier par le suffixe.Copiez-collez ce que
~/notes/bash
vous voulez dans divers fichiers - par exemple, vous pourriez avoir un fichierarrays.txt
,loops.txt
etc. Tant que cela est juste pour votre usage personnel, vous ne violez pas le droit d'auteur.Vous pouvez maintenant l'utiliser à partir de la ligne de commande, par exemple:
cmdref bash arrays
et cette feuille de triche sera imprimée sur la console. Notez bien que les fichiers sont.txt
(encore une fois, l'utilisation de suffixes appropriés est utile pour les éditeurs, les navigateurs de fichiers, etc.), vous ne devez pas l'utilisercmdref bash arrays.txt
car il est ajoutécmdref.sh
(la seule chose que le script fait est de convertir les chemins et d'ajouter le suffixe).la source
vi cmdref
et que vim ouvrira le "cmdref.sh" et ensuite je pourrai le modifier ou est-ce que je manque quelque chose d'évident ici?vi ~/bin/cmdref
, vim ne sait pas vraiment de quel type de fichier il s'agit, et utilisera une valeur par défaut pour la mise en évidence (je pense que oui.txt
). Mais si vousvi ~/bin/cmref.sh
, vim sait que le fichier est un script shell et que la mise en évidence aura un sens. Mais WRT une commande, vous voulez tapercmdref
, noncmdref.sh
. C'est pourquoi j'utilise le lien symbolique.vi
est lui-même généralement un lien symbolique versvim
, c'est pourquoi vous obtenez une coloration syntaxique du tout (le "vi" d'origine n'avait pas une telle fonctionnalité, je pense). Et: vim est en fait assez intelligent pour reconnaître ce script comme un script shell si le fichier n'a pas de suffixe, mais le principe est valable;) En de rares occasions, j'ai peut-être besoin / envie d'utiliser quelque chose de moins intelligent..sh
fichier dans vim etset filetype=txt
- eek!man bash
couvre tous les aspects de la syntaxe bash, par exemple pourif statements
,string is zero
etnon-existent files
, il suffit de rechercher (appuyez sur la/
touche et entrez ce qui suit) pourCONDITIONAL EXPRESSIONS
.la source