mount cifs: 터미널에서 명령 실행 상태를 검색하는 방법은 무엇입니까?

mount cifs: 터미널에서 명령 실행 상태를 검색하는 방법은 무엇입니까?

아래 코드는 mount cifs정상적으로 작동합니다.

sudo mount -t cifs //192.168.1.77/something /mnt/192.168.1.77/something \
           -o username=alpha,rw,uid=alpha,gid=tango,dir_mode=0770,file_mode=0770,nounix,sec=ntlmssp

쉘 스크립트를 터미널에서 실행하면 다음 줄이 나타납니다.

� Password for alpha@//192.168.1.77/something:

비밀번호가 정확하면 터미널은 아무것도 쓰거나 넣거나 표시하지 않으며 디렉터리는 예상대로 마운트됩니다. 하지만 비밀번호가 틀리면 표시됩니다.

mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

항상 반복되는 루프를 만들고 싶습니다. while: 터미널에 오류 메시지가 나타나면 명령을 다시 실행하여 비밀번호를 요청하세요. 물론, 비밀번호가 정확하고 mount cifs모든 것이 정상임을 나타내는 내용이 반환되면 루프를 중지해야 합니다.

이것을 달성하는 방법은 무엇입니까? 나는 노력했다명령 대체:

result=$(sudo mount -t cifs //192.168.1.77/something /mnt/192.168.1.77/something \
           -o username=alpha,rw,uid=alpha,gid=tango,dir_mode=0770,file_mode=0770,nounix,sec=ntlmssp)
echo "result: '${result}'" 

그리고 다음과 같은 일이 발생합니다:

# Valid password scenario
� Password for alpha@//192.168.1.77/something:
result: ''

# Invalid password scenario
� Password for alpha@//192.168.1.77/something:
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
result: ''

너도 어떻게 볼 수 있어?명령 대체그것은 불가능합니다. 항상 비어있다결과바꾸다.

mount cifs무언가를 반환하는 활성화된 매개변수가 있는지 확실하지 않은 다음결과변수가 뭔가를 보여줍니다

답변1

$를 직접 테스트해 보면 어떨까요? 여기에는 마운트 종료 코드가 포함되어야 하며, 이 경우 성공하면 13 또는 0입니다.

오류 메시지를 보려면 를 실행하십시오 . 단, 일부 패키지에서 설치 errno $?해야 할 수도 있습니다 .errno

관련 정보