sv.phhsnews.com


sv.phhsnews.com / När är det bättre att använda #! / Bin / bash Istället för #! / Bin / sh i ett Shell-skript?

När är det bättre att använda #! / Bin / bash Istället för #! / Bin / sh i ett Shell-skript?


När du skapar ett nytt skalskript vill du göra Visst är det så problemfritt som möjligt, men ibland kan det vara lite förvirrande att veta vilken shebang som är den bästa för dig att använda. I den här noten har dagens SuperUser Q & A-post svaret på en förvirrad läsares fråga.

Dagens Frågor och svar-session kommer till vår tjänst med SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

Frågan

SuperUser-läsaren Hendre vill veta när det är bättre att använda #! / Bin / bash istället för #! / Bin / sh i skalskript:

När är det mer lämpligt att använda #! / Bin / bash än #! / Bin / sh i ett skalskript?

När är det bättre att använda #! / bin / bash i stället för #! / bin / sh i ett skalskript?

Svaret

Graviteten för SuperUser-bidragsgivaren har svaret för oss:

I kort:

  • Det finns flera skal som implementerar en superset av POSIX sh-specifikationen. På olika system kan / bin / sh vara en länk till aska, bash, dash, ksh, zsh, etc. Det kommer alltid att vara sh-kompatibelt men aldrig csh eller fish.
  • Så länge Eftersom du bara håller fast vid Sh-funktioner kan du (och nog borde) använda #! / bin / sh och manuset ska fungera bra, oavsett vilket skal det är.
  • Om du börjar använda bash-specifika funktioner (dvs. arrayer), bör du specifikt begära bash eftersom, även om / bin / sh redan anropar bash på ditt system, kanske det inte finns på alla andras system och ditt skript kommer inte att springa där . Detsamma gäller för zsh och ksh.
  • Även om manuset endast är avsett för personligt bruk kanske du märker att vissa operativsystem ändras / bin / sh under uppgraderingar. Till exempel, på Debian brukade den vara bash, men ersattes senare med den mycket minimala streckkoden. Skript som använde bashism men hade #! / Bin / sh plötsligt brutit.

Men:

  • Även #! / Bin / bash är inte så korrekt. På olika system kan bash leva i / usr / bin , / usr / pkg / bin eller / usr / local / bin .
  • A mer tillförlitligt alternativ är #! / usr / bin / env bash , som använder $ PATH . Även om env-verktyget självt inte är strikt garanterat, fungerar / usr / bin / env fortfarande på fler system än / bin / bash .

Har något att lägga till förklaring? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in den fullständiga diskussionsgängan här.

Bildkredit: Wikipedia


15 Saker du kan göra med Cortana på Windows 10

15 Saker du kan göra med Cortana på Windows 10

Cortana är en av Windows 10 mest synliga nya funktioner. Microsofts virtuella assistent gör språnget från Windows Phone till skrivbordet, och det finns mycket du kan göra med det. Det är inte bara en röstassistent heller - du kan också skriva kommandon och frågor Öppna Cortana för att se information som du tycker om du kan bry dig om.

(how-to)

LG gjorde någonting konstigt med G5: det tog helt bort applådan i stock launcher och slängde alla appar på den hemskärmar, som i iOS. Jag förstår att vissa människor förmodligen gillar det här - kanske till och med föredra det - men jag är säker på att det är off-putting till många andra. Om du vill ge stock launcher en go men vill ha applådan tillbaka, inkluderade LG faktiskt ett sätt att lägga till en applåda till startprogrammet via en separat nedladdning.

LG gjorde någonting konstigt med G5: det tog helt bort applådan i stock launcher och slängde alla appar på den hemskärmar, som i iOS. Jag förstår att vissa människor förmodligen gillar det här - kanske till och med föredra det - men jag är säker på att det är off-putting till många andra. Om du vill ge stock launcher en go men vill ha applådan tillbaka, inkluderade LG faktiskt ett sätt att lägga till en applåda till startprogrammet via en separat nedladdning.

Hur man får den traditionella "Listvy" i LG G5: s inställningar Först, gå till Inställningar. Dra ner notifikationsskärmen och tryck sedan på kuggikonet för att komma dit. I Inställningar, rulla ner till alternativet "Hemskärm" och tryck på det. Det första alternativet i den här menyn är "Välj hem" -give det är en kran.

(how-to)