Ich habe eine Variable, die einer Zeichenfolge entspricht, die eine Reihe von Schlüssel/Wert-Paaren ist, die durch Zeilenumbrüche getrennt sind.Setzen Sie die Bash-Variable gleich dem Ergebnis der Zeichenfolge, wobei Zeilenumbrüche durch Leerzeichen ersetzt werden.
Ich möchte dann diese Newline Zeichen mit Leerzeichen ersetzen, und legen Sie eine neue Variable
Aus verschiedenen Antworten auf das Ergebnis gleich im Internet ich im folgenden angekommen sind:
#test.txt has the content:
#test=example
#what=s0omething
vars="$(cat ./test.txt)"
formattedVars= $("$vars" | tr '\n' ' ')
echo "$taliskerEnvVars"
Problem I ist, wenn versuchen formattedVars
zu setzen versucht, die zweite Zeile auszuführen:
script.sh: line 7: test=example
what=s0omething: command not found
ich gleichnur formattedVars
wollen
Welchen Trick vermisse ich?
Entfernen 'cat' und verwendet nur' formattedVars = $ (tr '\ n' ''
anubhava
[bearbeiten] Ihre Frage, um prägnante, testbare Beispieleingabe und erwartete Ausgabe einzuschließen. Sie sind auf dem Holzweg und bekommen Antworten, die Ihnen helfen, diese falsche Fährte zu implementieren, anstatt Ihr Problem auf die richtige Art und Weise zu lösen. –