Ich lese eine .properties
Datei aus meinem Shell-Skript. Ich wollte etwas Wert für einen Schlüssel lesen und danach zwischen eine Zeichenfolge anhängen, aber die Ausgabe ist seltsam.Shell-Skript - merkwürdiges Verhalten nach Verketten der Zeichenfolge mit Variablen
#!/bin/bash
# Script used to read Property File
FILE_NAME="Test.properties"
prop_value=$(cat ${FILE_NAME} | grep Address)
echo "ABC${prop_value}DEF"
meine Test.properties ist wie dieser
Name=Pravin
Age=25
Address=Mumbai
asd=asd
Nach der Ausführung dieses Skripts ich erwarte
ABCAddress=MumbaiDEF
aber ich bin immer eine Ausgabe wie
DEFAddress=Mumbai
Was würde Sei das Problem hier?
Wenn ich eine Variable in einem Skript definieren, funktioniert es, aber wenn ich es aus Datei mit Befehlserweiterung lesen, funktioniert es nicht.
Ihre Datei ist im DOS-Format. Es enthält Zeilenumbrüche, die den Cursor beim Ausdruck an den Anfang der Zeile senden. –
BTW, Sie haben andere Fehler hier, die http://shellcheck.net/ fangen wird. –
Unter anderem Probleme mit dem Code finden Sie unter [UUoC - unbrauchbare Verwendung von 'cat'] (https://stackoverflow.com/questions/11710552/useless-use-of-cat). Ich bin mir sicher, das ist ein Duplikat. das Duplikat zu finden wird schwieriger (und wahrscheinlich nicht die Mühe wert). –