Sponsor-Board.de
Antwort schreiben  Thema schreiben 

Mittels .sh eine Variable in eine server.config schreiben

Verfasser Nachricht

Beiträge: 79
Bewertung: 3
Registriert seit: Oct 2012
Status: offline


Beitrag: #1
Mittels .sh eine Variable in eine server.config schreiben

Hallo alle zusammen,

Ich stehe vor dem Problem das ich mit Hilfe einer datei.sh eine Variable an eine server.config übergeben möchte. Der Wert soll dann ganz einfach nur ersetzt werden. Soweit klapt das auch, nur bekomme ich den Wert nicht in Anführungszeichen gesetzt.

Das habe ich soweit hinbekommen:

Code:
#!/bin/bash


while test $# -gt 0; do
case "$1" in
"-PLAYER")
    PLAYER="$2"
    shift ;;
esac
shift
done

grep   "maxPlayers" :  server.config &>/dev/null
if [[ $? -eq 0 ]]; then  # Vorhanden!
  sed -i server.config -e "s/^\(  "maxPlayers" : \).*$/\1${PLAYER},/"
else  # Nicht vorhanden!
  echo "  "maxPlayers" : ${PLAYER}," >> server.config
fi


Leider habe ich jetzt das Problem, das keine Anführungszeichen übergeben werden.
So müsste es aussehen: "maxPlayers" : 24000,
Und so schreibt das Script es hinein: maxPlayers : 26050,

Kann mir dabei vielleicht jemand helfen oder einen Tipp geben?

MfG Boedy


111222333

05.07.2014 19:34
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 947
Bewertung: 8
Registriert seit: Feb 2012
Status: offline


Beitrag: #2
RE: Mittels .sh eine Variable in eine server.config schreiben

Hey, schonmal das probiert:
grep \"maxPlayers\"

Probiers mal aus,
Max.


[Link: Registrierung erforderlich]
[Link: Registrierung erforderlich] - Blog über Linux und die IT Welt
-------------------------------------------------------------------------------------------------------
Facebook: [Link: Registrierung erforderlich]
Linux-Scout.de: [Link: Registrierung erforderlich]

05.07.2014 19:40
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #3
RE: Mittels .sh eine Variable in eine server.config schreiben

beim sed und beim echo auch die beiden " escapen, denk dran dass die config ungültig wird wenn sie nicht mit \n endet und das echo ausgeführt wird.


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

05.07.2014 19:51
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 79
Bewertung: 3
Registriert seit: Oct 2012
Status: offline


Beitrag: #4
RE: Mittels .sh eine Variable in eine server.config schreiben

Funktioniert leider nicht. Dann schreibt er garnichts in die server.config

MfG Boedy


111222333

05.07.2014 19:54
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #5
RE: Mittels .sh eine Variable in eine server.config schreiben

Oh, ist das ne JSON-Datei? Dann würd ich eher ne Sprache nehmen, die JSON parsen kann.


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

05.07.2014 19:57
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 79
Bewertung: 3
Registriert seit: Oct 2012
Status: offline


Beitrag: #6
RE: Mittels .sh eine Variable in eine server.config schreiben

Also müsste es dann so aussehen wenn ich das richtig verstehe.

Code:
#!/bin/bash


while test $# -gt 0; do
case "$1" in
"-PLAYER")
    PLAYER="$2"
    shift ;;
esac
shift
done

grep "maxPlayers" :  server.config &>/dev/null
if [[ $? -eq 0 ]]; then  # Vorhanden!
  sed -i server.config -e "s/^\(  \"maxPlayers\" : \).*$/\1${PLAYER},/"
else  # Nicht vorhanden!
  echo "  \"maxPlayers\" : ${PLAYER}," >> server.config
fi


Ja genau, ist eine JSON. OK, da bin ich dann aber wirklich mit meinem Latein am ende.


111222333

Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2014 20:09 von GuildControl.

05.07.2014 20:00
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 210
Bewertung: 1
Registriert seit: Apr 2013
Status: offline


Beitrag: #7
RE: Mittels .sh eine Variable in eine server.config schreiben

Simples beispiel:

PHP-Code:
#!/usr/bin/env php
<?php
if($argc == && $argv[1] == '-PLAYER'){
    
$conf json_decode(file_get_contents('server.config'), true);
    
$conf['maxPlayers'] = intval($argv[2]);
    
file_put_contents('server.config'json_encode($conf));


E: Shebang reineditiert


PHP Problem? [Link: Registrierung erforderlich]
Language: PHP, Indent-Mode: 2 oder 4

Dieser Beitrag wurde zuletzt bearbeitet: 05.07.2014 20:10 von tkausl.

05.07.2014 20:07
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 79
Bewertung: 3
Registriert seit: Oct 2012
Status: offline


Beitrag: #8
RE: Mittels .sh eine Variable in eine server.config schreiben

Hab es soweit am laufen.
Ich danke allen für die Hilfe.

Mfg Boedy


111222333

05.07.2014 21:59
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  *gelöst* jQuery Variable Problem VarmintLP 6 2.094 23.11.2014 20:43
Letzter Beitrag: Aaron
  webspell eine linkfarbe ändern MerchPartner 14 3.440 20.07.2011 11:32
Letzter Beitrag: bengl

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren