Bash에 "/dev/mapper/dev0"이 존재하는지 어떻게 감지합니까?

Bash에 "/dev/mapper/dev0"이 존재하는지 어떻게 감지합니까?

모든 드라이브를 자동으로 마운트하고 해독할 수 있도록 NAS용 암호 해독 소프트웨어를 만들려고 합니다.

sudo cryptsetup luksOpen /dev/blahblahblah dev0그러나 열려고 시도한 후에 존재 하는지 알아야 합니다 .

Bash에서 이를 어떻게 감지합니까? 나는 다음을 시도했습니다.

if [ -e /dev/mapper/dev0 ]; then

그런데 그게 효과가 없는 것 같았어요. 누구든지 아이디어가 있나요?


전체 코드는 다음과 같습니다.

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

답변1

노력하다test -e /dev/mapper/dev0 && run_some_command

then그 이후의 내용 과 그것이 어떻게 실패했는지 보여주면 도움이 될 것입니다 .

답변2

이상하게도 IF 문에 두 번째 괄호를 추가하기 전에 10시간 동안 벽에 머리를 부딪힌 후에도 모든 것이 작동하기 시작했습니다. 모두 감사합니다!

관련 정보