no.phhsnews.com


no.phhsnews.com / Når er det bedre å bruke #! / Bin / bash I stedet for #! / Bin / sh i et Shell-skript?

Når er det bedre å bruke #! / Bin / bash I stedet for #! / Bin / sh i et Shell-skript?


Når du lager et nytt skalleskript, vil du lage sikker på at det er så problemfritt som mulig, men noen ganger kan det være litt forvirrende å vite hvilken shebang er den beste for deg å bruke. På dette notatet har dagens SuperUser Q & A-post svaret på et forvirret lesers spørsmål.

Dagens spørsmål og svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

Spørsmålet

SuperUser-leseren Hendre vil vite når det er bedre å bruke #! / Bin / bash i stedet for #! / Bin / sh i shell-skript:

Når er det mer hensiktsmessig å bruke #! / Bin / bash i stedet for #! / Bin / sh i et skalskript?

Når er det bedre å bruke #! / bin / bash i stedet for #! / bin / sh i et shell-skript?

Svaret

SuperUser-bidragsgravitasjonen har svaret for oss:

I kort:

  • Det finnes flere skall som implementerer en superset av POSIX sh-spesifikasjonen. På forskjellige systemer, kan / bin / sh være en lenke til aske, bash, dash, ksh, zsh, etc. Det vil alltid være kompatibelt, men aldri csh eller fisk.
  • Så lenge Som du holder fast i sh-funksjoner, kan du (og sannsynligvis også) bruke #! / bin / sh og skriptet skal fungere bra, uansett hvilket skall det er.
  • Hvis du begynner å bruke bash-spesifikke funksjoner (dvs. arrayer), bør du spesielt be om bash fordi, selv om / bin / sh allerede påberoper bash på systemet ditt, er det kanskje ikke på alle andres system, og skriptet ditt vil ikke løpe der . Det samme gjelder for zsh og ksh, selvfølgelig.
  • Selv om skriptet kun er til personlig bruk, kan det hende du merker at enkelte operativsystemer endrer / bin / sh under oppgraderinger. For eksempel var det på Debian det å være bash, men ble senere erstattet med den svært små dash. Skript som brukte bashisms, men hadde #! / Bin / sh plutselig brutt.

Men:

  • Selv #! / Bin / bash er ikke så riktig. På forskjellige systemer kan bash leve i / usr / bin , / usr / pkg / bin eller / usr / local / bin .
  • A mer pålitelig alternativ er #! / usr / bin / env bash , som bruker $ PATH . Selv om env-verktøyet selv ikke er strengt garantert, fungerer / usr / bin / env fortsatt på flere systemer enn / bin / bash gjør.

Har noe å legge til i forklaring? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Se full diskusjonstråd her.

Bildekreditt: Wikipedia


Hva forhindrer DVD + R-plater fra å bli omformatert?

Hva forhindrer DVD + R-plater fra å bli omformatert?

Selv om det er kjent at DVD + R og CD + R-plater er laget for å bli tatt opp bare én gang, kan du kanskje undre hvorfor er i motsetning til den omskrivbare arten av "RW" plater. Hva stopper "R" -plater fra å bli omformatert? Dagens SuperUser Q & A-post har svaret på en nysgjerrig leser spørsmålet. Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

(how-to)

Kinesiske Great Firewall, som er kjent for Golden Shield-prosjektet, benytter en rekke triks for å censurere Kinas internett og blokkere tilgang til ulike utenlandske nettsteder. Vi vil se på noen av de tekniske triksene brannmuren bruker til å censurere Kinas Internett. Når SOPA ble diskutert, holdt konsernsjef for MPAA Chris Dodd Kinas nettside som blokkerte som en modell for hvordan USA kunne implementere sin egen internettcensur:

Kinesiske Great Firewall, som er kjent for Golden Shield-prosjektet, benytter en rekke triks for å censurere Kinas internett og blokkere tilgang til ulike utenlandske nettsteder. Vi vil se på noen av de tekniske triksene brannmuren bruker til å censurere Kinas Internett. Når SOPA ble diskutert, holdt konsernsjef for MPAA Chris Dodd Kinas nettside som blokkerte som en modell for hvordan USA kunne implementere sin egen internettcensur:

Forstå hva den store Kinas brannmur kan hjelpe oss å forstå hvordan enkelte organisasjoner vil sette internetsensur på plass over hele verden. Hvis du tror at Great Firewall bare bruker en censurmetode, tenk igjen - den bruker en rekke triks. Hva er Kinas store brannmur? Hvis du ikke har fulgt, har Kina en sensur Internett.

(how-to)