Tâches pratiques pour apprendre les scripts shell [fermé]

12

Je recherche des problèmes courants dans l'administration système Unix et des façons dont les scripts shell peuvent les résoudre. Complètement à des fins d'auto-éducation. J'aimerais aussi savoir comment vous apprendriez à apprendre les scripts shell.

Eimantas
la source

Réponses:

15

Chaque fois que vous vous retrouvez JAMAIS à faire quelque chose plusieurs fois, écrivez-le. Pensez aussi paresseux que possible. Les ordinateurs ont été construits pour faire toute cette merde subalterne. Toute chose qui sent le travail chargé a besoin d'un script shell.

Personnellement, j'ai appris en fouillant dans Slackware pendant quelques années. Voyez ce qui se passe lorsque vous retirez le plus possible votre système. Apprenez à vous familiariser avec le texte. Pendant que tout le monde roule et impressionne avec NetworkManager, découvrez à quel point il est simple de créer votre propre NetworkManager. Bien sûr, il peut ne pas y avoir autant de cas d'utilisation, mais vous pouvez obtenir quelque chose de opérationnel, en vous connectant dynamiquement via Ethernet et sans fil à la demande assez simplement.

Eli Frey
la source
6

Je voudrais recommander à nouveau les trois livres que j'ai suggérés dans un autre fil, ce sont à mon avis les meilleurs livres pour entrer dans l'esprit d'Unix:

  • L'environnement de programmation Unix de Kernighan et Pike
  • Unix pour les impatients
  • Outils électriques Unix d'O'Reilly.

Le premier est ancien, très ancien, mais il est concis, une lecture courte et vous donnera les côtelettes de shell dont vous avez besoin (expressions régulières, sed, pipelines).

Le second est incroyablement divertissant.

Le troisième est une collection de "meilleures" astuces des maîtres Unix dans les années 90 (c'est à ce moment-là que je l'ai lu). Le livre continue d'être réédité, donc je suis sûr qu'il contient de nombreuses nouvelles pépites.

miguel.de.icaza
la source
+1 pour l'environnement de programmation Unix. Après avoir lu ceci, Unix a soudainement pris beaucoup plus de sens pour moi. Un peu de révélation :-)
dr-jan
L'environnement de programmation Unix est l'un des rares livres qui couvre les "documents ici". Vous pouvez faire beaucoup avec les "documents ici" que beaucoup pensent qu'il est impossible de faire dans un seul fichier.
Bruce Ediger
2

Comment l'apprendre: tombez amoureux de la ligne de commande. Utilisez-le régulièrement et consultez souvent les pages de manuel. Souvent, même. Quand j'ai commencé à apprendre le script, je ne pouvais pas compter le nombre de fois que j'avais tapé man bash. Je ne pouvais pas non plus compter le nombre de fois où j'ai tiré la page de manuel pour une autre commande.

Kevin M
la source
1
+1 à Kevin. J'ai appris le script de la même manière. Le scénario étant généralement que j'aurais besoin de traiter ces fichiers de données COBOL (ouais, si loin en arrière ... mais c'est COBOL sous UNIX, pas sur les mainframes !!). Au lieu de lancer le code COBOL, je déclencherais awk (même pas perl car il n'a pas été installé sur notre serveur), et ferais des choses comme les 50 meilleurs clients rapportent :-)
J'utilise xterm(ou n'importe quel terminal, si cela est important) comme gestionnaire de fichiers principal. Ainsi, je me suis un peu forcé à utiliser Shell tout le temps, ce qui m'a fait apprendre et développer des astuces au fil du temps.
Denilson Sá Maia
2

Je l'ai appris en écrivant un outil de suivi. Il se connecterait à un tas de machines via ssh et collecterait des données comme la disponibilité, la charge, le nombre de connexions actives, l'utilisation de la mémoire et des trucs comme ça. Sur ma machine locale, il me montrait ces données sous forme de tableau de texte.

EricSchaefer
la source
1

J'appuie la recommandation de Miguel sur «l'environnement de programmation Unix». C'est vraiment vieux mais c'est comme ça que j'ai appris presque tout ce que je sais sur le shell et parce que c'est si vieux que vous pouvez l'obtenir pour quelques dollars sur Amazon: http://is.gd/eiSn6

jacksonh
la source
0

Trouvez un livre ou un manuel et traitez votre shell choisi comme un langage de programmation, car il l'est. (Bon, peut-être pas csh ...)

Pour commencer, apprenez à savoir si vous êtes dans un shell Bash, Bourne, csh, zsh ou autre. Certains d'entre eux sont similaires les uns aux autres comme le C et le C ++ - trompeusement différents - donc savoir avec lequel vous vous battez vous aidera à trouver des exemples et des manuels qui vous aideront réellement dans une situation donnée.


la source