2017-04-20 2 views
0

Ich schreibe meinen Code zum Erstellen von Cloud-Formation-Cluster mit elastischer Suche und Kibana installiert. Ich möchte mit echo-Befehl Leerzeichen entfernen und die IP-Adresse sollte nicht fest codiert sein.So entfernen Sie Leerraum mit Echo

SPARK_MASTER_IP=$(hostname -I) 
echo $SPARK_MASTER_IP 
10.100.53.254 
"echo \"elasticsearch.url: \"http://$SPARK_MASTER_IP:9200\"\" | sudo tee -a /etc/kibana/kibana.yml\n", 

Die Ausgabe dieses Befehls ist wie unten, ich sehe, dass es Raum nach der IP-Adresse ist und vor dem Doppelpunkt (.254space: 9200) bitte helfen Sie mir, wie ich diesen Raum entfernen?

elasticsearch: { url: 'http://10.100.53.254 :9200' } }, 

Antwort

0

Verwenden ${SPARK_MASTER_IP%% *}:9200 statt $SPARK_MASTER_IP, die die längste Übereinstimmung von " *" von rechts entfernt (freier Raum von irgendetwas gefolgt).

Ihr Shell-Handbuch enthält alle Details zum Entfernen verschiedener Teile, die zu bestimmten Globs passen, vom Anfang und Ende der Strings.

BTW, die " vor echo und das Komma am Ende aussehen gebrochen. Dies ist sicherlich kein gültiger Shell-Befehl. Was versteckst du vor uns?

Verwandte Themen