nl.phhsnews.com


nl.phhsnews.com / Wanneer is het beter om #! / Bin / bash te gebruiken in plaats van #! / Bin / sh in een shellscript?

Wanneer is het beter om #! / Bin / bash te gebruiken in plaats van #! / Bin / sh in een shellscript?


Wanneer u een nieuw shellscript maakt, wilt u dit doen zeker dat het zo probleemloos mogelijk is, maar soms kan het een beetje verwarrend zijn om te weten welke shebang de beste is die je kunt gebruiken. In dat opzicht heeft de SuperUser Q & A-post van vandaag het antwoord op de vraag van een verwarde lezer.

De Question & Answer-sessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-driven groep van Q & A-websites.

De vraag

SuperUser-lezer Hendre wil weten wanneer het beter is om #! / Bin / bash in plaats van #! / Bin / sh in shellscripts te gebruiken:

Wanneer is het beter om #! / Bin / bash in plaats van #! / Bin / sh in een shellscript te gebruiken?

Wanneer is het beter om te gebruiken? #! / bin / bash in plaats van #! / bin / sh in een shellscript?

Het antwoord

SuperUser contributor grawity heeft het antwoord voor ons:

In short:

  • Er zijn verschillende shells die een superset van de POSIX sh-specificatie implementeren. Op verschillende systemen kan / bin / sh een link zijn naar ash, bash, dash, ksh, zsh, etc. Het zal echter altijd sh-compatibel zijn, nooit csh of fish.
  • Zo lang als je alleen vasthoudt aan sh-functies, kun je #! / bin / sh gebruiken (en waarschijnlijk zelfs gebruiken) en het script zou goed moeten werken, ongeacht welke shell het is.
  • Als je begint te gebruiken bash-specifieke kenmerken (dwz arrays), zou u specifiek bash moeten vragen omdat, zelfs als / bin / sh bash al op uw systeem aanroept, het misschien niet op het systeem van iedereen staat en uw script zal daar niet worden uitgevoerd . Hetzelfde geldt natuurlijk voor zsh en ksh.
  • Zelfs als het script alleen voor persoonlijk gebruik is, kan het u opvallen dat sommige besturingssystemen / bin / sh tijdens upgrades veranderen. Bijvoorbeeld, op Debian was het bash, maar werd later vervangen door het zeer minimale streepje. Scripts die bashisms gebruikten maar #! / Bin / sh hadden, braken plotseling.

Maar:

  • Zelfs #! / Bin / bash klopt niet. Op verschillende systemen kan bash voorkomen in / usr / bin , / usr / pkg / bin of / usr / local / bin .
  • A betrouwbaardere optie is #! / usr / bin / env bash , die $ PATH gebruikt. Hoewel de env-tool zelf ook niet strikt is gegarandeerd, werkt / usr / bin / env nog steeds op meer systemen dan / bin / bash .

Heb iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread.

Image Credit: Wikipedia


Microsoft Edge resetten in Windows 10

Microsoft Edge resetten in Windows 10

Microsoft Edge bevindt zich nog in de kinderschoenen en kan af en toe problemen veroorzaken. Als u vindt dat Edge trage prestaties vertoont, vastloopt of de vreemde weergave van adware, werkbalk of pop-ups vertoont, moet u Microsoft Edge mogelijk opnieuw instellen. Het opnieuw instellen van Microsoft Edge is echter niet hetzelfde als het opnieuw instellen van andere browsers.

(how-to)

Wat zijn enkele leuke technische projecten die ik met mijn kinderen kan doen?

Wat zijn enkele leuke technische projecten die ik met mijn kinderen kan doen?

"Ik verveel me!" Twee woorden die elke ouder op een saaie zondagmiddag hoort te horen, terwijl hij uw kinderen vermaakt wanneer ze Geen Goombas meer om in Mario op te kunnen springen, het is niet altijd even eenvoudig als een iPad een weg te wijzen en op het beste te hopen. Gelukkig zijn er tegenwoordig tal van computerprojecten thuis die je kunt gebruiken om je opkomende geeks een kans te geven om niet alleen plezier te hebben bij het bouwen van hun eigen computers, maar ook om diepgaande informatie te leren over onderwerpen als computerhardware, software, programmeren en machinebouw allemaal op dezelfde plek.

(how-to)