da.phhsnews.com


da.phhsnews.com / Når er det bedre at bruge #! / Bin / bash I stedet for #! / Bin / sh i et Shell Script?

Når er det bedre at bruge #! / Bin / bash I stedet for #! / Bin / sh i et Shell Script?


Når du opretter et nyt skal script, vil du lave sikker på at det er så problemfrit som muligt, men nogle gange kan det være lidt forvirrende at vide, hvilken shebang er den bedste til at bruge. På den måde har dagens SuperUser Q & A-post svaret på et forvirret læsers spørgsmål.

Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder. > Spørgsmål

SuperUser-læser Hendre ønsker at vide, hvornår det er bedre at bruge

#! / Bin / bash i stedet for #! / Bin / sh i shell scripts: Hvornår er det mere hensigtsmæssigt at bruge

#! / Bin / bash i stedet for #! / Bin / sh i et shell script? Hvornår er det bedre at bruge

#! / bin / bash i stedet for #! / bin / sh i et shell script? Svaret

SuperUser bidragydergravitet har svaret for os:

I kort:

Der er flere skaller, der implementerer en superset af POSIX sh-specifikationen. På forskellige systemer kan

  • / bin / sh være et link til aske, bash, dash, ksh, zsh osv. Det vil altid være sh-kompatibelt, dog aldrig csh eller fisk. Så længe som du kun holder fast i sh-funktioner, kan du (og sandsynligvis endda) bruge
  • #! / bin / sh og scriptet skal fungere fint, uanset hvilken skal det er. Hvis du begynder at bruge bash-specifikke funktioner (dvs. arrayer), bør du specifikt anmode bash, fordi selvom
  • / bin / sh allerede påberåber bash på dit system, er det måske ikke på alles andres system, og dit script vil ikke løbe der . Det samme gælder for zsh og ksh, selvfølgelig. Selvom scriptet kun er til personlig brug, kan du bemærke, at nogle operativsystemer ændrer
  • / bin / sh under opgraderinger. For eksempel brugt det på Debian at være bash, men blev senere erstattet med den meget minimale bindestreg. Scripts, der brugte bashisms, men havde pludselig blækket #! / Bin / sh . Men

Selv

  • #! / Bin / bash er ikke korrekt. På forskellige systemer kan bash leve i / usr / bin , / usr / pkg / bin eller / usr / local / bin . A mere pålidelig mulighed er
  • #! / usr / bin / env bash , som bruger $ PATH . Selvom env-værktøjet i sig selv ikke er strengt garanteret, fungerer / usr / bin / env stadig på flere systemer end / bin / bash gør. Har noget at tilføje til forklaring? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Se hele diskussionsgruppen her.

Billedkredit: Wikipedia


Sådan beskytter du dit hjem mod vandskade med smarte hjemmesensorer

Sådan beskytter du dit hjem mod vandskade med smarte hjemmesensorer

Ligesom mange hæfteklammer af før-smarthom alder har den ydmyge lækagesensor lavet springet til det 21. århundrede. Læs videre, som vi viser dig, hvordan du integrerer en smarthome lækagesensorføler i dit hjemmebeskyttelsesarsenal for at modtage advarsler, ikke bare hjemme, men hvor du end er. Hvad vil jeg gøre her?

(how-to)

Sådan installeres softwareinstallations- og pakkeledere på Linux

Sådan installeres softwareinstallations- og pakkeledere på Linux

Installation af software på Linux involverer pakkeforvaltere og softwarelager, ikke at downloade og køre .exe-filer fra websteder som på Windows. Hvis du er ny til Linux, kan dette virke som et dramatisk kulturskifte. Mens du kan kompilere og installere alt selv på Linux, er pakkeforvaltere designet til at gøre alt for dig.

(how-to)

Interessante Artikler