[解決済み] bashスクリプトでset -eはどういう意味ですか?
2022-03-16 20:02:46
質問
この内容を勉強しています プリインストール このスクリプトは、そのパッケージが Debian アーカイブ (.deb) ファイルから解凍される前に実行されるファイルです。
このスクリプトには以下のようなコードがあります。
#!/bin/bash
set -e
# Automatically added by dh_installinit
if [ "$1" = install ]; then
if [ -d /usr/share/MyApplicationName ]; then
echo "MyApplicationName is just installed"
return 1
fi
rm -Rf $HOME/.config/nautilus-actions/nautilus-actions.conf
rm -Rf $HOME/.local/share/file-manager/actions/*
fi
# End automatically added section
最初の問い合わせは、回線についてです。
set -e
残りのスクリプトはとてもシンプルだと思います。Debian/Ubuntuのパッケージマネージャがインストール作業を実行しているかどうかをチェックします。もし実行されていれば、私のアプリケーションがシステムにインストールされたばかりかどうかをチェックします。もしインストールされていれば、スクリプトは次のようなメッセージを表示します。
MyApplicationName is just installed"
で終わり、(
return 1
というのは、「エラー」で終わるということですよね)。
もしユーザーがDebian/Ubuntuのパッケージシステムに私のパッケージをインストールするよう依頼している場合、スクリプトは2つのディレクトリも削除します。
これは正しいのでしょうか、それとも何か見逃しているのでしょうか?
解決方法は?
から
help set
:
-e Exit immediately if a command exits with a non-zero status.
しかし、一部の人たち(bash FAQやirc freenode #bash FAQの作者)からはバッドプラクティスと見なされています。使用することが推奨されています。
trap 'do_something' ERR
を実行します。
do_something
関数を使用します。
関連
-
[解決済み] Bashシェルスクリプト - フラグをチェックし、その値を取得します。
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
deepin20のサブネットマスクはどこですか?deepinのサブネットマスクを表示するためのヒント
-
deepin20にフォントを追加する方法は?deepin20にフォントをインストールする方法は?
-
deepin linuxからmacosx仮想マシンに直接ファイルをドラッグ&ドロップする方法は?
-
Deepin20システムのフォントを設定するには?Deepin端末のフォントサイズを設定する方法
-
[解決済み] libstdc++.so.5: 共有オブジェクトファイルを開くことができない - しかしライブラリはインストールされており最新である
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] bashスクリプトでset -eはどういう意味ですか?
-
[解決済み] 最初のエラーで停止する[重複]。
-
[解決済み】プロセス終了コードに基づくシェルスクリプトの終了 [重複]。