Parametersubstitution & command not found

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von jostrn, 14.11.2008.

  1. jostrn

    jostrn Grünschnabel

    Dabei seit:
    12.07.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Guten Abend,

    meine bash und ich verstehen uns gerade nicht so gut, kann hier jemand zwischen uns vermitteln? ;)

    Wie kann ich einer Variablen, die ich durch Parametersubstitution gebildet habe, einen Wert zuweisen?

    Code:
    31: server_2_name="srv01"
    32: server_count=1
    33: server_${server_count}_name="srv01"
    
    Wenn ich die Fehlermeldung richtig deute, kann ich den Variablenbezeichner bilden aber danach scheitert die Zuweisung... :think:

    Vielen Dank für eure Hilfe
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Tblue

    Tblue Tripel-As

    Dabei seit:
    27.11.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Das geht mit eval (man 1p eval).
    Code:
    server_count=1
    eval "server_${server_count}_name=srv01"
    
    echo $server_1_name
    => srv01
    
     
  4. #3 Gott_in_schwarz, 15.11.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Für mich hört sich das so an, als ob ein Array dir bereits reichen würde. (Dynamische Variablengenerierung mit numerischen Countern ist imho nur sinnvoll, wenn man Arrays emulieren muss. Aber hier gehts auch ohne eval-Tricks.)
    Code:
    server_count=1
    server_name[$server_count]="srv01"
    ((server_count++))
    server_name[$server_count]="srvFOO"
    echo "${server_name[@]}"
    echo ${server_name[1]}
    echo ${server_name[2]}
     
  5. jostrn

    jostrn Grünschnabel

    Dabei seit:
    12.07.2006
    Beiträge:
    5
    Zustimmungen:
    0
    Ihr seid klasse, vielen Dank!

    Habe es jetzt als Array realisiert, wobei mir die eval-Variante zwar vom Variablennamen besser gefiel, aber ich mach's lieber simpel als schön ;)

    Vielen Dank nochmals,
    Josef
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Parametersubstitution & command not found

Die Seite wird geladen...

Parametersubstitution & command not found - Ähnliche Themen

  1. Artikel: Shell Command Injection - Wie fremder Text in das Terminal gelangt

    Artikel: Shell Command Injection - Wie fremder Text in das Terminal gelangt: Man möchte sicher nicht, dass ein Fremder einen Befehl in das Terminal eingibt. Und doch kann es genau dazu kommen, wenn Skripte auf dem System...
  2. Entwicklung des »Midnight Commanders« eingestellt

    Entwicklung des »Midnight Commanders« eingestellt: Der seit etlichen Monaten in der Agonie liegende »Midnight Commander« wird vorerst eingestellt und nicht mehr weiterentwickelt. Das gaben die vier...
  3. Gnome Commander 1.4 mit vielen neuen Funktionen

    Gnome Commander 1.4 mit vielen neuen Funktionen: Die Entwickler des freien grafischen Dateimanagers »Gnome Commander« haben mit der Version 1.4 eine neue Hauptvariante der Anwendung...
  4. Webmin /file/show.cgi Remote Command Execution

    Webmin /file/show.cgi Remote Command Execution: This Metasploit module exploits an arbitrary command execution vulnerability in Webmin 1.580. The vulnerability exists in the /file/show.cgi...
  5. Zabbix Server Arbitrary Command Execution

    Zabbix Server Arbitrary Command Execution: This Metasploit module abuses the "Command" trap in Zabbix Server to execute arbitrary commands without authentication. By default the Node ID "0"...