[BASH] Error in su script

Pagina: 1
Acties:

  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 08:34

Erhnam

het Hardware-Hondje :]

Topicstarter
Ik ben bezig met een bash script waarmee ik een gameserver wil starten en meteen wil koppelen aan een gebruiker. Tot op heden gaat alles vlekkeloos maar zodra ik het commando 'su' er in verwerk komen er fouten omhoog. Het script is als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
SERVER=`pwd | sed -e s/\.home\.cs.\/''/`
GETAL=`pwd | sed -e s/\.home\.cs.\server/''/`
IP=xx.xx.xx.$[GETAL + 80]

export LD_LIBRARY_PATH=/home/cs/$SERVER/hlds_l:$LD_LIBRARY_PATH

cd hlds_l

su csuser$GETAL -c ./hlds_run -game dod +exec \
server.cfg +ip $IP +port 27015 \
+motdfile motd.txt +maxplayers 16 +mapcyclefile \
mapcycle.txt +map dod_anzio +sv_lan 0 +mp_timelimit 20


Het script leest uit in welke directory het staat en aan de hand daarvan worden de variables bepaald. Als ik de regel su csuser$GETAL -c weg haal dan werkt het script perfect. Maar dit is natuurlijk niet de bedoeling. Met de regels er wel voor komt deze melding terug:

su: invalid option -- g
Try `su --help' for more information.


Ik heb al geprobeerd wat te schuiven in de code maar ik snap niet waar de optie -- g vandaan komt? Aangezien dat nergens is terug te vinden in de code. Misschien is er iemand die hier ervaring mee heeft?

[ Voor 6% gewijzigd door Erhnam op 09-04-2004 20:35 ]

http://www.xbmcfreak.nl/


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

het commando na -c moet tussen quotes staan als het spaties bevat.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Wat gebeurt er als je quotes om het stuk na -c zet?

Wie trösten wir uns, die Mörder aller Mörder?


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 08:34

Erhnam

het Hardware-Hondje :]

Topicstarter
Confusion schreef op 09 april 2004 @ 20:38:
Wat gebeurt er als je quotes om het stuk na -c zet?
Hij start dan wel goed op maar vergeet de juiste variables mee te geven. Dit heb ik al geprobeerd op te lossen door de optie -m (do not reset environment variables) mee te geven aan su maar dan blijft die het vergeten :(

[ Voor 6% gewijzigd door Erhnam op 09-04-2004 20:50 ]

http://www.xbmcfreak.nl/


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

su -c "VAR1=bla VAR2=bla2 ./commando -game etc'

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 08:34

Erhnam

het Hardware-Hondje :]

Topicstarter
CyBeR schreef op 09 april 2004 @ 20:54:
su -c "VAR1=bla VAR2=bla2 ./commando -game etc'
code:
1
2
3
4
5
6
su csuser$GETAL -m -c 'SERVER=`pwd | sed -e s/\.home\.cs.\/''/` \
GETAL=`pwd | sed -e s/\.home\.cs.\server/''/` \
IP=62.41.27.$[GETAL + 80] \
./hlds_run -game dod +exec server.cfg +ip $IP +port 27015 \
+motdfile motd.txt +maxplayers 16 +mapcyclefile \
mapcycle.txt +map dod_anzio +sv_lan 0 +mp_timelimit 20'


Dan geeft die dit als return: bash: line 1: 01/hlds_l: division by 0 (error token is "l")

(ook geprobeerd met ./hlds_l/hlds_run te laten runnen)

[ Voor 10% gewijzigd door Erhnam op 09-04-2004 21:02 ]

http://www.xbmcfreak.nl/


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Let even op je quotes. In je s/// expressies staan er een paar.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Erhnam
  • Registratie: Januari 2000
  • Laatst online: 08:34

Erhnam

het Hardware-Hondje :]

Topicstarter
Ik heb al een andere oplossing :)

start gerenamed naar run :)

en dan een nieuw start script maken waaronder die met su run start :)

http://www.xbmcfreak.nl/


  • Wilke
  • Registratie: December 2000
  • Laatst online: 10:24
Dat kan ook maar als je doet wat CyBeR en Confusion zeggen was het in dit geval ook wel goed gekomen :)

hier en daar wat backslashes rondstrooien dus.
Pagina: 1