#1 Le 26/08/2010, à 07:13
- NightDragon
Comment créer un script Bash ?
Tout est dans le titre, ou presque... : A quoi ça sert concrètement?
Merci d'avance.
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#2 Le 26/08/2010, à 07:22
- Compte anonymisé
Re : Comment créer un script Bash ?
Bonjour,
Je dirais tout simplement à enchainer plusieurs commandes à la suite, avec plus ou moins de condition paramétrable, du type si le résultat de la dernière commande est xxx, alors fais ceci, ceci et ceci, sinon fait plutôt cela, cela et cela.
#3 Le 26/08/2010, à 07:30
- NightDragon
Re : Comment créer un script Bash ?
Ah ouai c'est ce que je pensait, en gros c'est du batch, mais version linux ?
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#4 Le 26/08/2010, à 07:43
- iuchiban
Re : Comment créer un script Bash ?
Salut NightDra&gon,
Je te conseille le très bon site http://abs.traduc.org/abs-fr
Pour le pourquoi de la programmation shell, le chapitre 1 l'explique très bien : http://abs.traduc.org/abs-fr/ch01.html
Sinon, pour toutes tes questions concernant le système, les possibilités, etc. je te conseille le livre Simple comme ubuntu : http://www.framabook.org/ubuntu.html librement téléchargeable.
C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.
Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.
Hors ligne
#5 Le 26/08/2010, à 07:51
- NightDragon
Re : Comment créer un script Bash ?
merci, je vais prendre le temps de lire tout ça tout à l'heure !
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#6 Le 26/08/2010, à 13:26
- sputnick
Re : Comment créer un script Bash ?
Je te conseille le très bon site http://abs.traduc.org/abs-fr
mmmm, c'est pas si terrible que ça, on apprend des choses désuètes même si beaucoup de choses sont intéressantes.
Mais pour savoir faire le tri, faut être expérimenté...
Mieux vaut oublier le Français pour tout ce qui touche le développement.
Ces liens sont de vrais références pour le bash :
http://mywiki.wooledge.org/BashFAQ
http://mywiki.wooledge.org/BashGuide
http://www.gnu.org/software/bash/manual/bash.html
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#7 Le 26/08/2010, à 13:28
- NightDragon
Re : Comment créer un script Bash ?
Sympa, j'vai avoir de la lecture .
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#8 Le 26/08/2010, à 14:25
- ehmicky
Re : Comment créer un script Bash ?
Si tu veux une réponse rapide avant de te plonger dans la littérature sur le sujet, je dirais qu'un script Bash est tout bêtement un fichier texte. Chaque ligne du fichier correspond à une ligne de commande telle que tu la taperais dans un terminal. En lançant le script, toutes ces lignes de commande s'exécutent ligne par ligne. Pour que le script s'exécute :
- la première ligne doit être : #!/bin/bash
- les droits d'exécution doivent être activés avec :
chmod a+x /chemin/du/script
- le script s'exécute sous la forme simple :
/chemin/du/script
ou s'il est dans le répertoire courant (. désigne le répertoire courant) :
./script
- rajouter .sh à la fin du nom de fichier n'est en rien obligatoire.
Tu peux éditer ce fichier texte avec des éditeurs du style Vim, Emacs, Gedit, Nano (la plupart des gens avertis te conseillant Vim ou Emacs, mais cela demande une certaine dose d'apprentissage !)
Pour ce qui est de la documentation, voici un dossier avec trois documenations que tu pourras donc consulter offline (exemple : métro). Par contre, je trouve qu'aucune des trois ne devrait être lu sans avoir les "basics" car elles n'expliquent pas ou trop rapidement les premiers trucs tout cons mais qui peuvent te bloquer quand tu débutes : comment créer/exécuter un script, comment utiliser les variables, etc. :
- le dossier "Bash_debutant" est une documentation que je trouve moyenne... (commencer par le chapiter 7, zapper les autres pour le début ^^)
- le dossier "Bash_avance" est la version anglaise du lien http://abs.traduc.org/abs-fr assez connu. C'est vrai qu'on peut toujours trouver des défauts (notamment le fait que Bash4 soit un peu zappé et que des syntaxes obsolètes sont parfois utilisées), mais en tout cas, il y a pas mal d'exemples et c'est très complet. Par contre, pour débuter, ça démarre trop vite je trouve, avec dès les premières pages une énorme page te décrivant le sens de tous les métacharactères en Bash...
- le dossier "Bash_reference" est la documentation GNU référence, écrite notamment par le créateur de Bash sur son site, à ne lire qu'une fois bien à l'aise avec Bash. (c'est le même lien que
http://www.gnu.org/software/bash/manual/bash.html)
Les trois sont en anglais.
Après un rapide survol, j'ai l'impression que parmi les liens donnés, http://mywiki.wooledge.org/BashGuide est peut-être le mieux quand on débute vraiment.
Dernière modification par ehmicky (Le 26/08/2010, à 14:28)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#9 Le 26/08/2010, à 22:38
- NightDragon
Re : Comment créer un script Bash ?
Déjà merci ^^. Bien que je suis pas trop mal en anglais, toute une page c'est un peu trop compliqué, et traduire en français avec des logiciels est un pur suicide ^^. Donc je vais lire un peu tout les liens poster ici et je vous tiendrais au courant de mes exploits .
Mais le bash concrètement appart facilité la vie, sa n'apprend pas beaucoup comment marche une machine etc ? ( c'est déjà sa vous me direz ! )
Merci.
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#10 Le 26/08/2010, à 23:12
- ehmicky
Re : Comment créer un script Bash ?
Tout dépend de ce que tu entends par "une machine". D'un point de vue hardware, j'ai appris des trucs grâce à certaines commandes Bash, comme hwclock pour l'horloge du BIOS.
Mais globalement, c'est plus sur des trucs logiciels que t'apprends. Les OS Unix sont principalement codés en C, et les commandes Bash sont parfois des calques des commandes C (par exemple printf). Dans les points un peu plus poussés, tu en apprends donc sur l'OS, notamment sur l'interaction avec les périphériques, les fichiers spéciaux, file descriptors, le forking, etc. Mais Bash reste un langage utilisé principalement dans de simples fichiers de configuration.
Je pense que si le but est d'en apprendre plus sur quelque chose au-delà du langage lui-même, c'est du côté du C, voire de l'assembleur, qu'il faut aller, mais c'est un avis purement personnel !
En tout cas, avec les technos web, je me dis que c'est un bon langage pour commencer (avis personnel aussi ^^)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#11 Le 26/08/2010, à 23:17
- NightDragon
Re : Comment créer un script Bash ?
Merci encore ( sa devient lacant )...
Déjà jvoudrais te demander comment donner les droits pour le lancer... Parceque je suis obligé d'aller dans propriete.. perimission.. Permettre ...... Et c'est chian de faire sa a chaque fichier, j'ai essayer t'a methode dans tout les sens, celle de mathéo dans tout les sens ( si tu connais le site du zéro ) Et sa me met toujours : Permission non accordé.
Et ensuite, je voudrais savoir en quoi apprendre le C( je connais déjà un bon paquet de truc dessus) ou voir l'assembleur pourrait m'apprendre des choses en informatique, comment marche l'ordinateur, la comprendre et tout et tout ^^.
Merci encore
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#12 Le 27/08/2010, à 01:07
- ehmicky
Re : Comment créer un script Bash ?
Pour pouvoir exécuter un script avec la syntaxe suivante :
/chemin/du/script.sh
ou
./script.sh
Tu dois effectuer un :
sudo chmod a+x /chemin/du/script.sh
a+x signifie "all" (a) "ajouter" (+) "le droit d'exécution" (x)
Car d'expérience personnelle, un fichier non répertoire n'est jamais créé par défaut avec les droits d'exécution.
Dernière modification par ehmicky (Le 27/08/2010, à 01:08)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#13 Le 27/08/2010, à 01:13
- NightDragon
Re : Comment créer un script Bash ?
Ah mais moi j'ai cru qu'il fallait le mettre dans le script même ^^ okay merci.
Why drink and drive when you can smoke and fly ? ... Non mais franchement.
Hors ligne
#14 Le 27/08/2010, à 08:07
- Hizoka
Re : Comment créer un script Bash ?
sputnick => ouais mais faut piger l'US... ca rajoute des difficultés pour ceux qui comme moi sont tres loin d'être bilingue... la version fr est déjà très intéressante je trouve (mais il est certain que je n'ai pas ton niveau...)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#15 Le 27/08/2010, à 08:39
- Totor
Re : Comment créer un script Bash ?
malheureusement sputnick a raison : je comprends tout à fait cette barrière de la langue mais l'informatique est un domaine où l'anglais est fortement ancré et où il est préférable de consulter les documentations anglophone. En effet les documentations francophone sont la plus part du temps des traductions plus ou moins à jour. Et quand elles le sont, malgré toute la bonne volonté des traducteurs, elles ne font pas forcément ressortir (précisément) les idées du document initiale.
-- Lucid Lynx --
Hors ligne
#16 Le 27/08/2010, à 09:03
- survietamine
Re : Comment créer un script Bash ?
iuchiban a écrit :Je te conseille le très bon site http://abs.traduc.org/abs-fr
mmmm, c'est pas si terrible que ça, on apprend des choses désuètes même si beaucoup de choses sont intéressantes.
Mais pour savoir faire le tri, faut être expérimenté...
Mieux vaut oublier le Français pour tout ce qui touche le développement.
Ces liens sont de vrais références pour le bash :
http://mywiki.wooledge.org/BashFAQ
http://mywiki.wooledge.org/BashGuide
http://www.gnu.org/software/bash/manual/bash.html
Je suis d'accord qu'en informatique la documentation Française est moins complète et moins à jour que la US.
Cependant, "Advanced Bash-Scripting Guide" reste pour moi une documentation de qualité, en Anglais comme en Français car elle offre une vision plus globale.
Ca dépend des individus, mais moi, j'ai besoin d'avoir une vue d'ensemble pour pouvoir m'exercer sur un détail ;
jaimais réussi à apprendre bêtement par cœur quoi que ce soit.
J'ai débuté avec l'ouvrage papier UNIX shell (guide de formation Tsoft chez Eyrolles) qui m'a donné une vision beaucoup plus large que simplement Bash.
Je n'ai jamais réussi à apprendre quoi que ce soit sans comprendre le pourquoi, le comment ça existe.
Bien sûr, tout le monde ne fonctionne pas comme ça, ça doit être ton cas, c'est pour ça que tu n'aimes pas ABS, mais j'voulais juste dire qu'on peut y trouver un intérêt et l'apprécier, en gardant en tête que tout n'est pas forcément à jour, mais les bases sont là.
Sinon, pour les scripts, je trouve que l'usage de Bash (d'ailleurs c'est pas forcément le meilleur shell pour ça) seul est assez limitée, l'apprentissage de classiques comme grep ou awk permet d'aller beaucoup plus loin.
Dans le même ordre de "liens pratiques" de type mémo que le 1er que tu as donné, on peut en trouver pour ces outils en ajoutant "one-liners" en mot-clef du moteur de recherche.
Dernière modification par survietamine (Le 27/08/2010, à 09:05)
Ðɸ Ƴơц ℕεєđ Şø₥€ √іêŤąɱίɳƸʂ ?
Hors ligne
#17 Le 27/08/2010, à 15:36
- sputnick
Re : Comment créer un script Bash ?
ABS est non seulement pas à jour comme tu dit, mais pire, on t'apprends des choses dépréciées.
Sinon, pour les scripts, je trouve que l'usage de Bash (d'ailleurs c'est pas forcément le meilleur shell pour ça)
précise ta pensée, bash est standard (le shell par défaut sur une majorité de Linux donc gain de portabilité) et très avancé...
...seul est assez limitée, l'apprentissage de classiques comme grep ou awk permet d'aller beaucoup plus loin.
??? Wut ?
Évidement, c'est le cas pour tous les shells ! C'est le principe même du développement à base de coquillage.
J'ai aucun souci à sortir un one-liner de perl, voir de ruby, de python en shell quand j'en ai besoin pour une toute petite partie.
Sur des projets plus importants, nécessitant de nombreuses exécutions en environnement de production, avec un cahier des charges musclé, la question du développement avec un langage de script de 3° génération peut se poser, voir du java ou du C/C++. Mais on dévie de la question initialement posée.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne