Ich arbeite an einem meiner ersten Bash-Skripte auf Mac. Mein Ziel ist lesen Sie den Namen meiner Git-Zweig, speichern Sie es in die Terminal-Variable PR_TITLE
und ersetzen Sie schließlich den Platzhalter pull_request_name
mit der Variablen $PR_TITLE
mit sed -i
.Bash sed Befehl ersetzen durch Ausgabe eines Befehls
Unten sind die Terminalbefehle, die ich ausführe. Das Festlegen der Variablen funktioniert einwandfrei, aber ich kann den Platzhalter nicht durch die Variable ersetzen. Derzeit gibt bash folgendes aus, wenn ich meinen sed-Befehl ausführe. -bash: feature/issues-5-6: No such file or directory
PR_TITLE=$(git branch | grep \* | tr -d '*')
sed -i '' "s/\pull_request_name/$($PR_TITLE)/" /Users/$USER/Desktop/PR_File.txt
Ich bin mir nicht sicher, ob ich dir folge. Wollen Sie sagen, dass mein Befehl eine Änderung an den Anführungszeichen benötigt, so wie 'sed -i' '"s/\ pull_request_name /" $ ($ PR_TITLE) "/"/Benutzer/$ USER/Desktop/PR_File.txt' – VirtualProdigy
Der Befehl Sie haben einen Ersatzfehler "sed: 1:" s/\ pull_request_name/$ (... ": bad flag im Ersatzbefehl: 'i'' – VirtualProdigy
Wahrscheinlich habe ich mich geirrt. Versuchen Sie' sed -i' 's/\ pull_request_name/$ PR_TITLE/"/ Benutzer/$ USER/Desktop/PR_File.txt' und überprüfen Sie, ob es was Sie brauchen. – komar