anoniem Geplaatst: 18 januari 2002 Delen Geplaatst: 18 januari 2002 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" Quote Link naar reactie
anoniem Geplaatst: 18 januari 2002 Auteur Delen Geplaatst: 18 januari 2002 ok stom, hij werkt alleen als het script in /bin staat....oeps Quote Link naar reactie
anoniem Geplaatst: 18 januari 2002 Auteur Delen Geplaatst: 18 januari 2002 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. Quote Link naar reactie
anoniem Geplaatst: 18 januari 2002 Auteur Delen Geplaatst: 18 januari 2002 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 Quote Link naar reactie
anoniem Geplaatst: 20 januari 2002 Auteur Delen Geplaatst: 20 januari 2002 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. Quote Link naar reactie
anoniem Geplaatst: 23 januari 2002 Auteur Delen Geplaatst: 23 januari 2002 Wat je ook kan gebeuren is dat je bv een perl script vanuit dos overneemt. Dat is dan een dos like tekst bestand met cr/lf. En dat vreet bash ook niet, die verwacht uitsluitend een lf. Quote Link naar reactie
anoniem Geplaatst: 23 januari 2002 Auteur Delen Geplaatst: 23 januari 2002 Hé daarover staat bij de OS2-hoek in C!T een leuke anecdote over :wink: Max Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen