[解決済み] Bashスクリプトが終了する前にコマンドを実行するには?
2022-05-14 03:09:03
質問
Bashスクリプトに
set -e
があり、スクリプト内のコマンドがエラーを返した場合、スクリプトが終了する前にどのようにクリーンアップを行うことができますか?
例えば
#!/bin/bash
set -e
mkdir /tmp/foo
# ... do stuff ...
rm -r /tmp/foo
どうすれば
/tmp/foo
の中のコマンドが削除されるようにするには、どうすればよいでしょうか。
... do stuff ...
が失敗しても削除されるのですか?
どのように解決するのですか?
トラップの使用例です。
#!/bin/bash -e
function cleanup {
echo "Removing /tmp/foo"
rm -r /tmp/foo
}
trap cleanup EXIT
mkdir /tmp/foo
asdffdsa #Fails
出力します。
dbrown@luxury:~ $ sh traptest
t: line 9: asdffdsa: command not found
Removing /tmp/foo
dbrown@luxury:~ $
asdffdsa行が失敗しても、クリーンアップがまだ実行されていることに注意してください。
関連
-
[解決済み】firebase-tools "-bash: firebase: command not found".
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bashのif条件で「unary operator expected」エラーが発生する。
-
[解決済み] テスト
-
[解決済み] '\r': command not found - .bashrc / .bash_profile [duplicate].
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] osx find exec rm find: exec: 不明な主またはオペレータ
-
[解決済み] Bashでの動的な変数名
-
[解決済み] zip警告 - 名前が一致しない
-
[解決済み] sed で二重引用符と単一引用符をエスケープするにはどうしたらいいですか?
-
[解決済み] awkシステムコール
-
[解決済み] Bashのforeachループ