Hier ist der Code, den ich gerade habe: Es scheint Zeilenumbrüche vor der Hash-Ausgabe aus irgendeinem seltsamen Grund, dass ich nicht herausfinden kann.Bash: Newlines in der Ausgabe von Code
hash=$(printf "$pswdOne\n$pswdTwo"|grub-mkpasswd-pbkdf2 |awk '{print $7}')
myname=$(whoami)
echo "" > ./testoutput
printf "set superusers=\"$myname\"" >> ./testoutput
printf "\npassword_pbkdf2 $myname $hash" >> ./testoutput
Hier ist der Ausgang:
set superusers="thornegarvin"
password_pbkdf2 thornegarvin
grub.pbkdf2.sha512.10000.03266E0763AA0C4E3D97C6DEA85DFBC4D34F97630C9FDE42B53E66D900341FF9F0988A7161C5A8B8EFA88AC33B1A06D459B6DA4D066EAB0EAC6B398DFF5FC3BB.614FE51D9ABB0D81695D080F9DF234FE05AB2955F485EC314917764D7E0DC3F3CC239F8C26DE36A8418E33CB89085312F0A9B6E283C407A4B8B3A2C1BC91C7F6
Was ist die Ausgabe von 'printf "==% s == \ n" "$ hash"'? (Beachten Sie, dass es empfehlenswert ist, '% s' anstelle von Interpolation für Parameterwerte zu verwenden, um die Möglichkeit zu vermeiden, dass der Parameterwert' %' -Sequenzen enthält. Ich denke jedoch, dass dies kein Problem ist.) – chepner