On Sat, Dec 26, 2020 at 09:13:23PM +0200, Wouter Verhelst wrote: > On Sat, Dec 19, 2020 at 06:01:31PM +0100, Cecil Westerhof wrote: > > Ik had helemaal niet gereageerd. :'-( > > > > Richard Lucassen writes: > > > > > On Wed, 25 Nov 2020 10:52:57 +0100 Cecil Westerhof wrote: > > > > > >> Ik heb er zelf nooit last van gehad, maar door een vraag van iemand > > >> anders kwam ik erachter dat sh een link is naar dash. Is er een > > >> mogelijk heid om bij installatie sh naar bash te laten verwijzen? > > > > > > ln -sf /bin/bash /bin/sh
Lees vooral verder > > Dat kan niet na een upgrade terug worden gezet door Debian? > > Nope. > > > > zou ik zeggen, Na installatie dan. Maar verwijs in je eigen scripts > > > gewoon naar /bin/bash als je bash wilt, dan ben je niet meer > > > afhankelijk van het feit van hoe de /bin/sh staat. > > > > Ik gebruik in mijn (bash) scripts altijd (dat is meer portable): > > #!/usr/bin/env bash > > > > Zelf heb ik het probleem dus ook niet. Liep er tegenaan in een andere > > groep waar iemand er over 'klaagde'. > > De reden dat /bin/sh naar dash verwijst, en niet naar bash, is omdat: > > - dash sneller opstart, > - je als je /bin/sh zegt, je alleen commando's zou mogen gebruiken die > effectief door POSIX als onderdeel van de sh interface gedefinieerd is > en er dus geen verschil zou mogen zijn, > > Het gebruik van bash-specifieke functies in een /bin/sh script is niet > portable. Op elk systeem dat een andere shell gebruikt dan bash als > /bin/sh zal dat niet werken. Hoe dat kan? bash is tien keer groter dan dash? " $ ls -l $(which bash) $(which dash) " -rwxr-xr-x 1 root root 1254856 4 nov 18:01 /bin/bash " -rwxr-xr-x 1 root root 125560 12 nov 08:58 /bin/dash > FreeBSD heeft in de default configuratie bijvoorbeeld bash zelfs niet > geïnstalleerd staan. > > Op macOS is de default shell lang bash geweest, maar dat is nooit > geüpgradet geweest toen bash naar GPLv3 gegaan is (dus de default bash > op macOS is nu wel *heel* erg oud), en ze zijn daar recent op zsh > overgestapt. > > Het "probleem" dat /bin/sh niet bash is, is dus zeker niet > Debian-specifiek. > > Bij Debian is op een bepaald moment de symlink van bash naar dash > verplaatst geweest. Dat is expliciet gelimiteerd op de versie-overgang > waarbij dat aangezet is. Het is dus maar één keer, en het terugzetten is > ook een ondersteunde configuratie (i.e., als je dat nodig hebt mag je > het gewoon doen). De pijn van het terugzetten komt pas als je het shell script wat voor jou werkt ( want /bin/sh link naar /bin/bash verbergt bashism features) niet werkt voor de ander ( want /bin/sh link naar /bin/dash ) > To the thief who stole my anti-depressants: I hope you're happy > -- seen somewhere on the Internet on a photo of a billboard Groeten Geert Stappers -- Silence is hard to parse.