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

おすすめ記事