# 経緯
他者のlinuxのインストールスクリプトを参考に色々と拝見しており、シェルスクリプトをmanやwebで調べて上から下まで完璧に理解しようとしている次第です。ちなみに全然書けもせず基本中の基本しか知らない程度です。
そこで下記以外にもリダイレクト関連や/dev/nullなりに渡す処理の動作がいまいち理解できません。
shell
1umount -R /mnt 2> /dev/null || true 2cryptsetup luksClose luks 2> /dev/null || true
# 自分の調べた結果の認識
umount -R /mnt:再帰的に/mntをアンマウント
- umount:これは単純にアンマウントコマンド
- -R:再帰的にアンマウントするオプション(らしい)
###2> /dev/null:標準エラー出力を/dev/nullに渡す
- 2> file:標準エラー出力をfileに渡す
- /dev/null:出力が破棄される
**Q1:/dev/nullに標準エラーを渡すというのはエラーを無視する(捨てるため)ということなのでしょうか?**⇒解決済み
###|| true:論理和及び片方true
- ||:論理和
Q2:論理和(command1||command2)に置いてcommand1がfalseにしろtrueにしろcommand2(true)に行くわけですが、何故このように記述したのだろう?また2> /dev/nullの真偽の判定もわからないです⇒解決済み
Q3:スクリプトの初期の方にこれを記述されているのですが、何故/mntのアンマウント及び暗号化パーティションを閉じるチェックをしたのでしょう?
要するにcommand1で確認してOKなら2に行かず1実行で終え、1で/mntされてませんよ等のエラーがでたらcommand2のtrueで次に進むということだと思うんですが何故どのみちtrueになるのに確認したのでしょう?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/12 15:10
2020/12/12 15:15
2020/12/12 15:18