
Ich versuche, eine Entschlüsselungssoftware für mein NAS zu erstellen, sodass alle Laufwerke automatisch gemountet und entschlüsselt werden.
Aber ich muss wissen, ob es sudo cryptsetup luksOpen /dev/blahblahblah dev0
existiert, nachdem versucht wurde, es zu öffnen.
Wie erkenne ich das in Bash? Ich habe Folgendes versucht:
if [ -e /dev/mapper/dev0 ]; then
Aber das schien nicht zu funktionieren. Hat jemand eine Idee?
Dies ist der gesamte Code:
fail="true"
LUKS_PASSWORD1=""
while [ $fail="true" ]; do
echo -n " Password > "
read LUKS_PASSWORD1
echo "";
for dev in "${!devs[@]}"; do
echo "Opening ${devs[$dev]} to $dev"
echo $LUKS_PASSWORD1 | sudo cryptsetup luksOpen $dev ${devs[$dev]} -d - &
done;
wait
if [[ -e /dev/mapper/dev0 ]]; then
[[ -e /dev/mapper/dev0 ]] && echo "true"
ssh -i /home/user/.ssh/another-machine [email protected] -t 'play "/images/voices/Shuuten Douji/databasesunlocked.mp3"; wait; exit;';
fail="false"
else
ssh -i /home/user/.ssh/another-machine [email protected] -t 'play "/images/voices/Shuuten Douji/that was incorrect, but please try again.mp3"; wait; exit;';
fi
done
Antwort1
Versuchentest -e /dev/mapper/dev0 && run_some_command
Es wäre hilfreich, wenn Sie zeigen würden, was danach kam then
und warum es fehlgeschlagen ist.
Antwort2
Seltsamerweise funktionierte alles, obwohl ich mir vorher 10 Stunden lang den Kopf zerbrochen hatte, nachdem ich der IF-Anweisung eine zweite Klammer hinzugefügt hatte. Also ja, lol. Vielen Dank an alle!