ubuntuusers.de

Ergebnis einer Variable in Command hinzufügen

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

UBR

Anmeldungsdatum:
12. November 2017

Beiträge: 13

Hallo Leute,

(Mein Titel hört sich etwas komisch an, aber vielleicht kann ich's jetzt besser erklären)

Ich hätte eine Frage. Ich arbeite gerade an einen Skript und muss gerade irgendwie hinbekommen das Ergebnis einer Variable in eine Datei reinzubekommen.

Ausschnitt meines Skripts (Datei: test.sh):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
echo -e "\033[32mConfigwerte werden eingesetzt\033[0m"
						sleep 3
						touch config.ini
							if [ -f botConfig.conf ];
								then
									echo 'ListenPort = $PORT
ListenHost = $IP
TS3Path = "$CURRENTPATH/teamspeak3-client/ts3client_linux_amd64"
DataDir = "$CURRENTPATH/data/"
YoutubeDLPath = "/usr/local/bin/youtube-dl"'>>config.ini
									echo -e "\033[32mConfigwerte wurden erfolgreich eingesetzt\033[0m"
								else
									echo -e "\033[31mConfigdatei konnte nicht gefunden werden\033[0m"
							fi
						clear
						sleep 3

Inhalt von botConfig.conf

1
2
3
4
5
BOTNAME="bot001"
PASSWORD="foobar"
IP="0.0.0.0"
PORT="8087"
CURRENTPATH="/opt/bot001/"

Jetzt muss ich irgendwie versuchen, ListenHost = "0.0.0.0" einzusetzen, statt $IP.

Wäre es möglich? Und wenn nein, gäbe es eine andere Methode.

Ich hoffe, ihr könnt meine Frage nachvorziehen und würde mich über eine positive Rückmeldung freuen.

Mit freundlichen Grüßen Braveen Udayakumar

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4453

Wohnort: Göttingen

So ganz ist mir dein Problem nicht klar. Du möchtest in der Datei botConfig.conf das

IP="0.0.0.0"

ersetzen durch

ListenHost="0.0.0.0"

oder?

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Ich weiß nicht genau worauf du abzielst. Woher kommt denn die Variable IP?

Vielleicht hilft dir Bash Scripting Guide für Anfänger weiter?

Für gewöhnlich

echo "Schreibe mir bitte die IP: $IP in die Datei" >> Zieldatei

UBR

(Themenstarter)

Anmeldungsdatum:
12. November 2017

Beiträge: 13

Doc_Symbiosis schrieb:

So ganz ist mir dein Problem nicht klar. Du möchtest in der Datei botConfig.conf das

IP="0.0.0.0"

ersetzen durch

ListenHost="0.0.0.0"

oder?

Genau das meine ich! Wie bekommt man es hin??? Also es muss in der test.sh 0.0.0.0 bei ListenHost ausgegeben werden.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Nun, ChickenLipsRfun2eat hat ja schon das Wiki verlinkt: dort gibt es extra einen ganzen Abschnitt über Variablen, wo alles ausführlich erklärt ist.

Wenn ich Dich richtig verstehe, dann hast Du die IP ja schon in einer Variablen stehen und willst die dann nur einsetzen:

1
2
ip=0.0.0.0
echo "ListenHost=\"$ip\"" >> config.ini

Beachte bitte die \Escapes, damit die " wörtlich in die Ausgabe übernommen werden und nicht von der Shell als Stringende interpretiert werden.

Und beachte bitte auch, dass bei Variablenzuweisungen im Shellskript vor und hinter dem "=" keine Leerzeichen stehen dürfen !
Sonst klappt die ganze Zuweisung nicht richtig.

LG und einen schönen Abend,

track

UBR

(Themenstarter)

Anmeldungsdatum:
12. November 2017

Beiträge: 13

Danke, für eure Antworten. Ich habe es in irgendeine Art und Weise geschafft. Trotzdem gibt es immer noch Lücken in meinem Skript!

Antworten |