Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Interpretatiefout Bash-script  (gelezen 1925 keer)

wimvg

  • Gast
Interpretatiefout Bash-script
« Gepost op: 2008/09/27, 17:15:15 »
Hallo,

Sinds enkele weken gebruik ik Linux Ubuntu om zelf websites te hosten. Om het aanmaakproces van een website te verkorten probeer ik zelf bash-scripts te schrijven. Vorige week kwam ik de volgende foutmelding tegen;

cp: cannot create regular file `/man/apache-root/eth0-0-/index.html;\n\t\tsudo mkdir -p /man/apache-root/eth0-0-;\n\t\tsudo chown -R root:root /man/apache-root/eth0-0-;\n\t\t\n\t\t

De fout komt voort uit het volgende deel van mijn bash-script;

sudo cp /man/bsh-sc/index-default.html /man/apache-root/"$2"-"$3-"$5"/index.html;
sudo mkdir -p /man/apache-root/"$2"-"$3"-"$5";
sudo chown -R $USER:$USER /man/apache-root/"$2"-"$3"-"$5";

Heeft iemand enig idee waarom ubuntu de 2de en 3de commandoregels niet als commando's, maar als een deel van de bestandsnaam "index.html" aanneemt? Ik behoor absoluut tot de cathegorie "beginners" op het vlak van linux, en ik hoop dat mijn vraag niet bij "domme vragen" hoort :).

Alvast bedankt voor jullie aandacht/hulp, Wim

Offline leepesjee

  • Lid
Interpretatiefout Bash-script
« Reactie #1 Gepost op: 2008/09/27, 17:52:58 »
De ; aan het eind van de regels zijn volgens mij niet nodig, maar of dat het probleem is weet ik niet zeker.

Het je inderdaad een map man direct onder de root? Of moet er misschien ./man of /usr/share/man staan?

Zomaar wat gedachten.

Offline BailHope

  • Lid
    • Techneut
Interpretatiefout Bash-script
« Reactie #2 Gepost op: 2008/09/27, 18:41:35 »
Probeer inderdaad die puntkommma's ( ; ) even weg te halen.
Komt het probleem nu nog voor?
Ubuntu user #12046
Mijn blog voor techneuten: http://techneut.wordpress.com
Voor de professionele IT'er: http://it-potato.blogspot.com

wimvg

  • Gast
Interpretatiefout Bash-script
« Reactie #3 Gepost op: 2008/09/27, 21:29:46 »
Bedankt voor de reactie!! Ik heb jullie raad opgevolgd, maar jammer genoeg blijft de fout bestaan, maar dan zonder het ; -teken. Ook door tab's en enter's te verwijderen blijft de foutmelding. Ik vrees dat ik met een hartnekkig geval zit :(

Weet mss iemand of er andere scheidingstekens zijn om commando's van elkaar te onderscheiden??? Ik dacht dat ; hiervoor instond zoals bij C++.

Offline siegi

  • Lid
Interpretatiefout Bash-script
« Reactie #4 Gepost op: 2008/09/27, 21:32:06 »
Als je een nieuwe regel start dan start je ook een nieuw commando.

Offline leepesjee

  • Lid
Interpretatiefout Bash-script
« Reactie #5 Gepost op: 2008/09/27, 21:43:40 »
Er zit nog iets niet lekker in de quotjes:
/man/apache-root/"$2"-"$3-"$5"/index.html

Offline Double12

  • Lid
Interpretatiefout Bash-script
« Reactie #6 Gepost op: 2008/09/27, 23:08:54 »
Het komt volgens mij omdat je die "" tekens erin zet. Die heb je volgens mij helemaal niet nodig.
Normaal gebruik je die alleen als je aan een commando een bestandsnaam moet meegeven waar een spatie in zit, bijv.
sudo cp /home/gebruiker/broodje-aap-verhaal.doc "/home/gebruiker/broodje aap verhaal.doc"

wimvg

  • Gast
Interpretatiefout Bash-script
« Reactie #7 Gepost op: 2008/09/29, 20:01:10 »
Probleem opgelost :) Het weglaten van de quotes is de oplossing!!! Ik heb zoals in het forum voorgesteld alle quotes, en de ";" weggelaten. De vergeten quote in het voorbeeld had er niet echt iets mee te maken. Ik had het commando al verschillende keren hertypt, en was er domweg een vergeten.

                sudo cp /man/bsh-sc/index-default.html /man/apache-root/$2-$3-$5/index.html
                sudo mkdir -p /man/apache-root/$2-$3-$5
                sudo chown -R $USER:$USER /man/apache-root/$2-$3-$5

Bedankt voor de reacties allemaal :)