![So übergeben Sie die Ausgabe des Befehls an sed](https://rvso.com/image/1419622/So%20%C3%BCbergeben%20Sie%20die%20Ausgabe%20des%20Befehls%20an%20sed.png)
MeinsedBefehl in#Schlüssel in der Konfigurationsdatei aktualisieren. erhält den Inhalt der Variable nicht$GETKEY Jemand hilft mir?
# Get key from output of the website.
GETKEY=`wget https://www.badips.com/get/key -qO - | awk {'print $9'} | cut -d ":" -f3 | cut -d "}" -f1 | sed 's/\"//g'`
if [ $? -eq 0 ]
then
# Update key in config file.
sed -i 's/^\(KEY\s*=\s*\).*$/\1$GETKEY/' Config
fi
Antwort1
Variablen werden nicht in einfachen Anführungszeichen ersetzt. Verwenden Sie:
sed -ri "s/^(KEY\\s*=\\s*).*$/\\1$GETKEY/" Config
Früher habe ich -r
die Notwendigkeit entfernt, die Klammern zu maskieren, aber die anderen Backslashs müssen in einfache Anführungszeichen maskiert werden. Andernfalls können Sie Anführungszeichen mischen:
sed -ri 's/^(KEY\s*=\s*).*$/\1'"$GETKEY/" Config