Ki sa #!/bin/bash vle di ak poukisa li ta dwe itilize

Dènye mizajou: 20/08/2024

Ki sa Binbash vle di

Si w ap fè premye etap ou kòm yon scripter sou sistèm operasyon Unix, w ap remake konbyen liy kòd #!/bin/bash yo itilize. Konprann siyifikasyon yo ak enpòtans yo ka ede w ekri scripts Bash ki pi efikas ak serye.. Nan antre sa a ou pral jwenn tout konsèp debaz ke ou bezwen metrize yo konprann li pi byen.

Senpleman mete, liy lan #!/bin/bash, ke yo rele tou "shabang" oswa "hashbang", se yon mekanis ki di sistèm operasyon an ki pwogram pou itilize pou entèprete kòd ki swiv la. Koulye a, li ka yon ti kras konfizyon yo konprann ki jan li fonksyone oswa lè li nesesè yo sèvi ak li. Se poutèt sa, anba a nou detaye siyifikasyon konplè li nan limyè de lòt tèm ak konsèp ki gen rapò.

Ki sa #!/bin/bash vle di? Basics

Ki sa #!/bin/bash vle di

Pou konprann sa #!/bin/bash vle di, li enpòtan pou revize kèk konsèp debaz ki gen rapò ak pwogramasyon. Li vo kòmanse pa sonje ke Bash se yon langaj pwogramasyon script lajman itilize nan sistèm operasyon tankou Unix, tankou Linux ak macOS. Epitou travay kòm yon entèprèt liy kòmand (Shell) ak ki ou ka kouri scripts ak lòt dosye ak ekstansyon .sh..

Se poutèt sa, lè w ap ekri yon script nan lang Bash, li nòmal pou kòmanse dosye a ak liy #!/bin/bash. Paske? Paske fason sa a yo di sistèm operasyon an ki entèprèt kòmand li ta dwe itilize pou rekonèt ak egzekite kòd la. Nan ka patikilye sa a, yo di w pou w kouri fichye bash la ak kokiy bash la.

Kontni eksklizif - Klike la a  Diferans ant abstrè ak enkapsulasyon

Pifò sistèm operasyon Unix itilize koki bash kòm entèprèt kòmand pa default, kidonk pa gen okenn bezwen presize li. Sepandan, pafwa kokiy default la pa configuré pou bash, ki fè li enposib pou egzekite fichye a. Pakonsekan li bon pratik pou itilize liy #!/bin/bash kòm yon pwen depa pou tout scripts ki fèt nan Bash. Sa a asire ke koki ki kòrèk la egzekite script la, kèlkeswa anviwònman kote li egzekite.

Poukisa yo rele li yon liy "shabang" oswa "hashbang"?

siyifikasyon #!/bin/bash

Kòm nou te di nan kòmansman an, liy #!/bin/bash yo konnen nan anviwònman Unix kòm "shabang" oswa "hashbang". Tèm sa a soti nan inyon non de premye senbòl yo (#!): "sharp" oswa "hashtag" (#) ak senbòl "bang" (!). Se konsa, Yon shabang (she-bang) nan informatique se sekans siy nimewo ak karaktè pwen esklamasyon nan kòmansman yon script pwogramasyon. 

Nan sans, fonksyon an nan yon shebang se di sistèm operasyon an ki entèprèt pou itilize pou egzekite yon script. Notasyon sa a lajman itilize nan Unix ak Linux, kote scripts yo esansyèl pou otomatize travay ak jere sistèm nan. Gen kèk egzanp komen nan sekans karaktè sa a Yo se jan sa a:

  • #!/bin/bash: Kouri script la lè l sèvi avèk koki Bash la, ak chemen /bin/bash la.
  • #!/bin/sh: Kouri script la ak Bourne a oswa lòt koki konpatib.
  • #!/usr/perl-T: Kouri script la lè l sèvi avèk Perl ak opsyon chèk taint la.
  • #!/bin/csh-f: Kouri script la lè l sèvi avèk koki C a oswa yon lòt konpatib.
  • #!/usr/bin/env python: Kouri script la lè l sèvi avèk vèsyon ki kòrèk la nan entèprèt python la.
Kontni eksklizif - Klike la a  Diferans ant entèprèt ak konpilatè

Poukisa li enpòtan pou itilize liy shebang nan scripting Bash?

Pwogramasyon sou macbook

Lè w ap kreye scripts ak Bash, li trè enpòtan pou w ekri shebang la sou premye liy dosye a. Nan fason sa a, Lè w ap kouri script la, sistèm operasyon an li premye liy lan epi li idantifye entèprèt la. Lè sa a, sistèm nan chaje pwogram bach la nan memwa, ki an vire li script la liy pa liy, entèprete chak kòmandman epi egzekite li.

Jan ou ka wè a, Lè w endike bash nan liy shebang la, ou asire ke script la egzekite kòrèkteman. Sonje ke gen lòt entèprèt kòmand, tankou Python ak Perl, ki gen diferan sentaks ak fonksyonalite. Si ou pa presize ki youn pou itilize, sistèm operasyon an ap gen pou devine, ki ralanti oswa ki fè li enposib pou egzekite script la. An reyalite, ou ka oblije manyèlman presize entèprèt la chak fwa script la ap kouri, sa ki ka mennen nan erè.

Kontni eksklizif - Klike la a  Kouman mwen ka pwograme pi vit? Konsèy pratik

Epitou, ajoute liy #!/bin/bash nan scripts bash pèmèt dosye sa yo kouri san pwoblèm sou diferan sistèm opere. Natirèlman, pou sa a posib, entèprèt la kòmand Bash dwe deja enstale sou sistèm nan. Linux ak macOS gen li enstale pa default nan pifò ka yo. Nan lòt men an, si ou itilize sistèm nan fonksyone Microsoft, ou pral oblije swiv sèten etap enstale Bash sou Windows 10 e enstale Bash sou Windows 11.

Konklizyon: liy #!/bin/bash la

An konklizyon, nou ka di sa Liy #!/bin/bash esansyèl pou nenpòt script Bash. Notasyon sa a pèmèt ou endike entèprèt kòmand ki nesesè pou egzekite liy kòd sa yo. Pa bliye toujou mete li nan kòmansman scripts ou yo pou asire lekti kòrèk yo ak ekzekisyon yo.