[LINUX BASH SCRIPTING] Go to functie ?

Pagina: 1
Acties:

  • TA2
  • Registratie: Februari 2002
  • Laatst online: 30-09-2022
Je kunt, als je een batch bestand maakt in dos, de functie " GOTO test " gebruiken en dan gaat i naar de regel in je batch bestand waar " :test " staat.
Nu heb ik deze functie nodig in een bash script wat ik aan't schrijven ben in linux.
Hoe kan ik dit het makkelijkst oplossen, hij moet dus gewoon naar een andere regel in het script en daar verder gaan.

  • TA2
  • Registratie: Februari 2002
  • Laatst online: 30-09-2022
Weet niemand of dit kan ???

Verwijderd

Volgens mij niet - dat bestaat alleen in batch bestanden...

In bash kun je dit over het algemeen oplossen met simpele if/else (bestaat dat in batch bestanden? :P)
code:
1
2
3
4
5
6
7
8
9
10
@ECHO OFF

IF !%1==! GOTO VIEWDATA
FIND "%1" C:\BOZO\BOOKLIST.TXT
GOTO EXIT0

:VIEWDATA
TYPE C:\BOZO\BOOKLIST.TXT | MORE

:EXIT0

wordt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash

DATAFILE=/home/bozo/datafiles/book-collection.data
ARGNO=1

if [ $# -lt "$ARGNO" ]    # IF !%1==! GOTO VIEWDATA
then
  less $DATAFILE        # TYPE C:\MYDIR\BOOKLIST.TXT | MORE
else
  grep "$1" $DATAFILE     # FIND "%1" C:\MYDIR\BOOKLIST.TXT
fi  

exit 0            # :EXIT0

Zie ook de bash scripting howto

[edit]
niet zo snel kicken joh

Verwijderd

true

  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 13-02 09:40

Valium

- rustig maar -

Je kunt in je shellscript ook functies aanroepen.
Dus een soort van gosub i.p.v. een goto.

Zie voor voorbeelden je /etc/init.d/networking

(Of natuurlijk mijn debian-cast script *glim* )