Nieuws:

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

Auteur Topic: Bash vraagje  (gelezen 1037 keer)

Konx

  • Gast
Bash vraagje
« Gepost op: 2008/02/19, 16:28:52 »
Hallo,

Ik moet voor school enkele Bash scripts schrijven en heb daarom Ubuntu 7.10 Gutsy Gibbon op een oude laptop geïnstalleerd.

Ik heb nu het volgende scriptje:

#!/bin/bash
clear
echo "This is information provided by mysystem.sh. Program starts now."
echo "Hello, $USER"
echo
echo "Today's date is `date`, this is week `date +"%V"`."
echo
echo "These users are currently connected:"
w | cut -d " " -f 1 - | grep -v USER | sort -u
echo
echo "This is `uname -s` running on a `uname -m` processor."
echo
echo "This is the uptime information:"
uptime
echo
echo "That's all folks!"
Het volgende werk niet 'uname -s', 'uname-m' en 'date', 'ddate +"%V"'.

Waarom niet? Als ik het script run staat er gewoon 'uname- s' e.d.

Uptime en $USER pakt ie wel gewoon.

Doe ik iets verkeerd?

De code komt uit een reader dus de code moet wel werken als het goed is. Bij andere voorbeelden heb ik hier ook last van. Iemand anders heeft het voor mij getest op Centos (ofzo) en daar werkt het prima.

Ik hoop dat iemand mij kan helpen.

Groetjes,
Konx

Offline Ronnie

  • Artworkteam
    • ronnie.vd.c
  • Steunpunt: Nee
Bash vraagje
« Reactie #1 Gepost op: 2008/02/19, 16:36:40 »
De code werkt voor mij gewoon zoals het hoort. Op welke manier voer je de code uit?
dit heb ik gedaan. opslaan als test en terminal openen en dan bash test

Succes
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Konx

  • Gast
Bash vraagje
« Reactie #2 Gepost op: 2008/02/19, 16:39:47 »
ik sla de code op als test.sh

vervolgens ga ik terug naar mijn terminal en typ ik ./test.sh

Als ik bijvoorbeeld uptime invoer dan krijg ik wel uptime info te zien. Ik vind het raar dat het met zaken zoals date niet werkt. ik krijg namelijk gewoon 'date' te zien.

Ik weet echt niet meer hoe het kan of wat ik moet doen.

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Bash vraagje
« Reactie #3 Gepost op: 2008/02/19, 16:40:20 »
hier werkt hij ook gewoon (linux mint 4, gebaseerd op ubuntu 7.10)...

ik heb het ook opgeslaan als test, uitvoerbaar gemaakt en gerund als ./test

Konx

  • Gast
Bash vraagje
« Reactie #4 Gepost op: 2008/02/19, 16:44:42 »
Kan het aan de Ubuntu distro liggen? En zo ja, waarom en welke versie kan ik dan nemen?

Het is een oude laptop met een Intel Celeron, 650Mhz, 6Gb harddisk e.d. :p dus veel werkt er niet op.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Bash vraagje
« Reactie #5 Gepost op: 2008/02/19, 16:46:33 »
Vreemd, hier werkt je scriptje prima.
Wat zie je als je het commando:
echo "Gebruikte shell: $SHELL"
Toevoegt aan je script?

Eventueel het commando:
echo $SHELL
als hij het eerdere commando niet goed pakt.

Konx

  • Gast
Bash vraagje
« Reactie #6 Gepost op: 2008/02/19, 16:49:02 »
dan zie ik /bin/bash

dus dat moet goed zijn
ik draai met Bash versie 3.2.17(1) -release

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Bash vraagje
« Reactie #7 Gepost op: 2008/02/19, 16:49:40 »
probeer anders eens #!/bin/sh

Konx

  • Gast
Bash vraagje
« Reactie #8 Gepost op: 2008/02/19, 16:51:06 »
Citaat van: Nunslaughter
probeer anders eens #!/bin/sh
Werkt helaas ook niet :(

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Bash vraagje
« Reactie #9 Gepost op: 2008/02/19, 17:08:06 »
Gebruik je wel een standaard Ubuntu? Zo ja welke versie?
Heb je met de instellingen van Bash, Dash of een andere shell gerommeld?

Konx

  • Gast
Bash vraagje
« Reactie #10 Gepost op: 2008/02/19, 17:10:10 »
Volgens mij gewoon een standaard Ubuntu. Ik heb 7.10 Gutsy Gibbon gedownload en die geïnstalleerd en voor de rest niets ingesteld.

Ik ben nieuw met Ubuntu dus weet geneens waar bash instellingen staan :p

Offline markba

  • Lid
    • http://markbaaijens.nl/
  • Steunpunt: Ja
Bash vraagje
« Reactie #11 Gepost op: 2008/02/19, 17:31:22 »
Is het script wat je toont ook het script dat uitgevoerd wordt? De reden dat ik het vraag: daar waar het volgens jou foutgaat, is allemaal rond zogenaamde uitvoerende strings: 'uname -s', 'uname-m' en 'date', 'ddate +"%V"'.

Kenmerkend daarvan is dat deze omsloten moeten worden met een schuine apastroph ` (maar niet met ', een rechte apastroph) . In het opgegeven script staat dat goed, vandaar dat diegenen die het script hebben uitgeprobeerd inderdaad geen fouten zijn tegengekomen.

Konx

  • Gast
Bash vraagje
« Reactie #12 Gepost op: 2008/02/19, 18:22:21 »
Het staat in met code met een rechte apastoph. Ik denk dat dat het probleem is. Hoe maak ik eigenlijk een schuine?

Konx

  • Gast
Bash vraagje
« Reactie #13 Gepost op: 2008/02/19, 18:24:29 »
Ja! Nu werkt het! Hartelijk dank voor jullie reacties allemaal!