아래 코드는 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