ottscho
Goto Top

Switch und Case Probleme

Hallo zusammen,

ich versuche mich gerade in einem CSH Script und verzweifle.
Dies ist mein Code:

echo win 200 200 >> $gui_in
echo bg $bgcolor >> $gui_in
echo fg 999999 >> $gui_in
echo font tbi24 >> $gui_in
echo fg $bgcolor >> $gui_in
echo label "1" >> $gui_in  
echo fg 999999 >> $gui_in
echo label $exit_string >> $gui_in
echo label $exit_string2 >> $gui_in
foreach i(${tools_all})
set bohrer = `echo ${i} | cut -d'D' -f2`  
echo $bohrer

switch ($bohrer)
   case 510:
   	echo fg 990000 >> $gui_in
	echo label ${i} >> $gui_in
   	breaksw

   default:
	echo fg 999999 >> $gui_in
	echo label ${i} >> $gui_in
   	breaksw
endsw

end
echo fg $bgcolor >> $gui_in
echo label "1" >> $gui_in  
echo fg 999999 >> $gui_in

Nun nimmt er immer den default Wert, egal ob 510 in der Variable steht. Woran könnte das liegen. Anbei den Code welche ich durch Set Echo in der Console angezeigt bekomme:

Script message: echo win 200 200
Script message: echo bg 003900
Script message: echo fg 999999
Script message: echo font tbi24
Script message: echo fg 003900
Script message: echo label 1
Script message: echo fg 999999
Script message: echo label Bohrdatei erfoglreich erstellt!
Script message: echo label aktulle Bohrtools:
 )5D510message: foreach i ( T1D110
Script message: set bohrer = `echo ${i} | cut -d'D' -f2`  
Script message: echo T1D110
Script message: cut -dD -f2
Script message: echo 110
Script message: 110
 )ript message: switch ( 110
Script message: end
Script message: set bohrer = `echo ${i} | cut -d'D' -f2`  
Script message: echo T2D130
Script message: cut -dD -f2
Script message: echo 130
Script message: 130
 )ript message: switch ( 130
Script message: end
Script message: set bohrer = `echo ${i} | cut -d'D' -f2`  
Script message: echo T3D160
Script message: cut -dD -f2
Script message: echo 160
Script message: 160
 )ript message: switch ( 160
Script message: end
Script message: set bohrer = `echo ${i} | cut -d'D' -f2`  
Script message: echo T4D200
Script message: cut -dD -f2
Script message: echo 200
Script message: 200
 )ript message: switch ( 200
Script message: end
Script message: set bohrer = `echo ${i} | cut -d'D' -f2`  
Script message: echo T5D510
Script message: cut -dD -f2
Script message: echo 510
Script message: 510
 )ript message: switch ( 510
Script message: end
Script message: echo fg 003900
Script message: echo label 1
Script message: echo fg 999999

Content-Key: 153977

Url: https://administrator.de/contentid/153977

Ausgedruckt am: 28.03.2024 um 11:03 Uhr

Mitglied: micneu
micneu 01.11.2010 um 15:37:28 Uhr
Goto Top
also erste frage, ist die csh so anderst zur bash?
was willst du mit diesem script erreichen?
will mal schauen ob es noch andere wege möglich sind um dein problem zu lösen.

gruß michael
Mitglied: ottscho
ottscho 04.11.2010 um 07:39:37 Uhr
Goto Top
Hallo,

ja, die CSH ist etwas anderst als dei BASH.
Das Problem hat sich mittlerweile erledigt.
In der Variable hat sich ein \n (current return) versteckt.
Darum funktionierte die Abfrage nicht.

Gruß
ottscho