並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 4 件 / 4件

新着順 人気順

"set -e"の検索結果1 - 4 件 / 4件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

"set -e"に関するエントリは4件あります。 shellbash技術 などが関連タグです。 人気エントリには 『set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream』などがあります。
  • set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream

    課題編 シェルスクリプトで「あるグローバルな状態を変える操作を行い、その結果をチェックし、状態をもとに戻す」みたいなタスクをするときに「その結果をチェックし」のところでコマンドの終了ステータスを変数に入れて置きたいみたいなことがあります。例えば、次のようなコマンド操作です。 set -e # グローバルな状態を変える操作を行う git merge --no-ff --no-commit $main_branch || true # 結果をチェックしてexit codeを変数に入れる git diff --cached --exit-code --quiet ; code=$? # グローバルな状態をもとに戻す git merge --abort # 上位プロセスに結果を渡す exit $code スクリプト全体には set -e (コマンドが失敗するとシェルスクリプトが即座に終了する)を効

      set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream
    • シェルスクリプトのset -eを正しく使ってエラー処理を楽にしよう! - Qiita

      はじめに この記事は正しく理解してないとハマりやすい set -e を正しく使う方法を解説しています。実はこの記事は前に書いた「シェルスクリプトのset -eを罠を避けて使う方法」の簡略版で前回は実際の動作を詳しく書いたのですが、内容がうまくまとまらなくて満足しておらず、私が set -e を使う時に気をつけてることを考えるともっとシンプルだよなということで新たに書き直すことにしました。普通に set -e を使うだけならこの記事の範囲の理解で十分だと思います。詳しい挙動については前回の記事を参照して下さい。 2021-12-16 「4. set -e の効果がコマンド置換に継承しないシェル対策」を追加 set -e とはなにか? この記事を読むような人は知っているかと思いますが set -e とはコマンドの実行結果がエラー(= 終了ステータスが 0 以外)になった時にシェルスクリプトを自

        シェルスクリプトのset -eを正しく使ってエラー処理を楽にしよう! - Qiita
      • シェルスクリプトのset -eを罠を避けて使う方法 - Qiita

        注意 この記事は内容に満足できなかったので新たに書き直しました。この記事の内容が間違っているわけではありませんが、まずは「シェルスクリプトのset -eを正しく使ってエラー処理を楽にしよう!」を参照して下さい。 2021-08-14 追記 この記事を書いた当時 bash の挙動を正しく理解していなかったので補足訂正します。bash はコマンド置換の中に set -e (errexit) の効果が継承されません。この動作は POSIX 非準拠です。bash 2.05.0 以上であれば set -o posix もしくは POSIX モード(sh)で起動することによって POSIX に準拠した動作となります。また bash 4.4 以上であれば shopt -s inherit_errexit でこの問題だけを個別に POSIX に準拠させることができます。本来は記事を訂正すべきですが、文章の

          シェルスクリプトのset -eを罠を避けて使う方法 - Qiita
        • シェルスクリプトを書く時には set -e をつけた方がいいのかな...どうなんだろう - ようへいの日々精進XP

          tl;dr for example 解決策 その 1 〜 がんばってエラーハンドリングを実装する 〜 その 2 〜 set -e を付与する 〜 注意点 再掲 実例 (1) 実例 (2) 〜 grep コマンド 〜 以上 tl;dr とあるプロジェクトのデプロイを CircleCI で実行していて, いくつかのコマンドをラップしたBash スクリプト (以後, シェルスクリプトと記載) を実行していたんだけど, コマンドのエラーを意図せずハンドル出来ていない現象に気づいて修正したメモです. 結局のところ, シェルスクリプトを書く時には set -e をつけた方がいいのかなという結論に至った次第です. for example 以下のようなシェルスクリプトを動かそうとした場合... #!/bin/bash echo "イメージをビルドします" docker build -t foo/bar:b

            シェルスクリプトを書く時には set -e をつけた方がいいのかな...どうなんだろう - ようへいの日々精進XP
          1

          新着記事