Nieuws:

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

Auteur Topic: [OPGELOST] bash script - echo: not found  (gelezen 1898 keer)

[OPGELOST] bash script - echo: not found
« Gepost op: 2011/05/04, 09:26:27 »
Heb een probleempje met een bash script:

#!/bin/sh
set -x

today=`date '+%w'`
echo $today

geeft de volgende foutmelding:
./script.sh: 1: echo: not found

/bin/echo geeft dezelfde fout.
« Laatst bewerkt op: 2011/05/05, 08:08:40 door lowrider2025 »

Re: bash script - echo: not found
« Reactie #1 Gepost op: 2011/05/04, 10:02:19 »
Ik heb gemerkt dat er ergens een karakter tussenzat die niet zichtbaar was, maar ervoor zorgde dat die echo een foutmelding gaf. Het irritante is dat de replace functie gekoppeld is aan de AltGr + `.Waardoor het moeilijk is om een backtick toe te voegen in nano. Weet er iemand hoe het makkelijker kan ? Of een manier om die shortcut naar de replace functie te wijzigen ?

Offline laudaka

  • Lid
Re: bash script - echo: not found
« Reactie #2 Gepost op: 2011/05/05, 03:46:25 »
Hoi Lowrider,
Voordat we het probleem met nano oplossen iets belangrijks: Moet dit een Bash shell script zijn? Of probeer je een shell script te schrijven wat ook werkt in een kalere Linux/Unix shell dan Bash? Als het een oude stijl shell script moet zijn voor een kale Unix shell dan moet er inderdaad staan:
#!/bin/shMeestal is op een Linux-systeem een Bash script wat het handigste werkt. En dan moet er op die eerste regel staan:
#!/bin/bashAnders wordt je script op een Ubuntu-Linux-systeem zeker niet uitgevoerd door Bash.

Bash scripts gebruiken het commando met de bestandsnaam /bin/echo helemaal niet. Bash heeft zijn eigen ingebouwde echo commando. Typ maar op de commandoregel ``type echo''. Dan zie je dat het type van de opdracht "shell builtin" is, echo zit ingebouwd in de Bash shell, en Bash gebruikt daarvoor niet een bestand op de harddisk. Als je bijvoorbeeld ``type rmdir'' of ``type ls'' typt dan zie je dat dat niet commando's zijn die ingebouwd zijn in Bash, het zijn geen Bash shell buitins. Voor die commando's gebruikt de Bash shell wel bestanden die op de harddisk staan.

Wie weet werkt het wel als je die eerste regel dus verandert in
#!/bin/bash
Anders kijken we verder... :)

Succes,
Paulus/laudaka

Re: bash script - echo: not found
« Reactie #3 Gepost op: 2011/05/05, 08:07:18 »
Paulus,

Bedankt voor de raad. De titel is dus verkeerd en het moet een shell script zijn want het werkt nu wel degelijk met #!/bin/sh . Het lag meer aan het feit dat nano rare tekens ging invoegen toen ik probeerde om backticks toe te voegen met Alt Gr + `. Waardoor die echo niet meer werkte. Maar nu werkt het dus allemaal.

Offline laudaka

  • Lid
Re: [OPGELOST] bash script - echo: not found
« Reactie #4 Gepost op: 2011/05/05, 14:10:29 »
Blij te horen dat het nu werkt :)

Offline tigger

  • Lid
Re: [OPGELOST] bash script - echo: not found
« Reactie #5 Gepost op: 2011/05/05, 17:08:45 »
Even voor mijn eigen nieuwsgierigheid...
Waarom sh? en geen ksh (op elk platform wel aanwezig) of bash?
Bash wil ik nog begrijpen als je ook op HPux of AIX, solaris 7-9 bezig bent, maar ksh is overal standaard aanwezig en script een stuk makkelijker.
LPI-1, NCLA, RHCE, RHCVA