cptkrabbe
Goto Top

Variablen in bash-script ändern

Hallo!

Ich stehe mal wieder auf allen verfügbaren Schläuchen, vielleicht könnt Ihr mir helfen.

Ich habe ein Script (script.sh) und eine Konfigurationsdatei (script.conf) in der nur Variablen - hauptsächlich IP-Adressen - stehen.

Nun soll im Script der Hostname des Hosts abgefragt werden, und wenn dieser = x, dann soll eine Variable im Script mit dem Inhalt einer anderen gefüllt werden.
Also:
#!/bin/bash

source /var/meinescripte/hostname.conf
hostname=$(hostname);
        if [ "$hostname" = "$hostname1" ]; then $variable=$variable2; else $variable=$variable3_ip; fi  

Das funktioniert natürlich so nicht. Ich finde einfach nicht raus, wie ich den wert der $variable ändere. Würde mich freuen, wenn mir das einer erklären könnte. Habt Dank!

Content-ID: 306665

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

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

Kraemer
Kraemer 09.06.2016 aktualisiert um 14:32:45 Uhr
Goto Top
Moin versuche es mal mit

if [ "$hostname" == "$hostname1" ]  
oder mit
if [ "$hostname" -eq "$hostname1" ]  

Gruß Krämer
Arano
Lösung Arano 09.06.2016 aktualisiert um 14:58:16 Uhr
Goto Top
Hi cptkrabbe.

Naja, eigentlich genau so wie du hostname deklarierst - ohne "$" vorweg.
then variable=$variable2;
else variable=$variable3_ip;
fi 


@Kraemer
man bash
string1 == string2
string1 = string2
True if the strings are equal. = should be used with the test command for POSIX conformance.


~Arano
cptkrabbe
cptkrabbe 13.06.2016 um 14:13:55 Uhr
Goto Top
Vielen Dank, Du hast mir wirklich sehr geholfen! Alles ist gut face-smile