Ga naar inhoud

pourquoi?? bashscript


anoniem

Aanbevolen berichten

Vreemd, een script draait niet op mijn Linux pc, ik probeer een simpel bash script uit maar hij weigert en dat terwijl op de andere Linux pc alles hetzelfde? is en scriptjes wel werken. error => bash: 'scriptnaam': command not found , nu weet ik wel dat bash zelf zoek zou moeten zijn, maar die staat waar je hem verwachten zou, nl in /bin, dus waarom werkt bijv. dit niet? #! /bin/bash echo "blabla"
Link naar reactie
Het kan ook gewoon vanuit een andere dir, je moet de executable bits van het bestand zetten (man chmod), bijvoorbeeld: 'chmod a+x <scriptnaam>' zorgt ervoor dat alle users het script uit kunnen voeren. Vervolgens uitvoeren met './<scriptnaam>' als de script niet in het pad staat. BTW. als je geen rotzooi wilt maken is het verstandig geen scripts in /bin te zetten, officieel bevat het de basale utils om met een systeem te kunen werken (bijv. als het /usr filesystem kapot is), /sbin bevat met name programma's die tijdens het booten nodig zijn.
Link naar reactie
Heel warrig verhaal :wink: Maar zoals danielk al aangaf moet je het script wel eerst de juiste toegangsrechten geven om uitgevoerd te worden. (daarom weken iloveu-achtige virussen niet onder Linux..) de ingang #! /bin/bash is puur bedoelt om aan te geven wie het script mag uitvoeren. Voor bash hoeft het er volgens mij niet eens in te staan, omdat dat je standaard-shell is. Voor perl bijv. moet je het weer wel inzetten. Max
Link naar reactie
Jouw probleem is dat linux default de huidige directorie niet in het pad heeft staan. Dit om trojan horses tegen te gaan. Als een script niet in een directorie staat die deel uitmaakt van het pad, bv je home directorie, dan moet je hem expliciet aanwijzen. Staat het script in /home/gebruiker, dan doe je /home/gebruiker/scriptnaam of zelfs ~gebruiker/scriptnaam ~gebruiker vervangt bash door /home/gebruiker. Als je working directorie hetzelfde is als de directorie waain het script staat dan kun je volstaan met ./scriptnaam Waarom? Net als in DOS (wat niets meer is als een slechte single user unix maar dat heeft er eigenlijk niets mee te maken :grin:) betekent "." de huidige directorie en ".." de bovenliggende directorie.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...