-euとおまじないのように付けてはいませんか?setのことを知ると、よりシェルを便利に使えると思ったので、ちょっとsetを掘り下げていこうかなと思います。setとはシェルの属性の設定/解除を行うBashの組み込みコマンドです。以下のようなsetをシェル冒頭に記述すると、コマンド実行時エラーが検出したら即座にシェルがexitします。directoryこのsetにはどんなオプションがあるのだろう?それを調べてみます。オプションそれぞれのオプションの詳しい動作を見ていきます。ちなみにオプションがない場合は、設定されているシェル変数が全て表示されます。移行のオプションは「-*」とハイフンで記述していきますが、「+*」とプラスで記述すると、その属性の設定が解除されます。しなくても、自動で変数などが環境にエクスポートするオプションです。-aがある場合#hoge-bバックグラウンドのジョブのステータス報告を即座に行ってくれるオプションです。5s-e(-E/-T)上述した通り、シェル内でエラーが発生した場合、即座に終了するオプションです。指定されたシグナルを検知したら、指定のコマンドを実行してくれるコマンドです。今回の場合はERRシグナルを対象とします。directory#error!!とても便利なのですが、シェル関数やサブシェルでのエラーはERRシグナルとして検知してくれません。「-E」オプションを指定すると検出してくれるようになります。directory#error!!今回の「-E」はERR疑似シグナルに対してですが「-T」はDEBUGとRETURNに対して同様の働きをします。-fパス名展開を無効にするオプションです。この字面だと意味がわかりませんが、ワイルドカード指定などができなくなります。directory-k引数に指定された代入文が、そのコマンドの環境変数となります。-kがある場合#hoge-mジョブ制御を有効にします。システム上の対話的シェルではデフォルトで有効です。これが有効だと、fg/bgコマンドがシェル内で使用できるようになります。以下の例では、一時中断したものを再度実行しています。恥ずかしながらあまりジョブ制御について知らなかったので、調べてみたところ大変便利なものと気付きました。ジョブ制御については別の機会に記事に出来ればと思います。-nコマンドを読み込みはしますが、実行はせず、構文エラーのみチェックします。file-tコマンドを1つ読み込み、実行後終了します。test-u設定されてない変数を展開しようとするとエラーが発生するようになります。variable-v/-x入力されたコマンドを出力します。デバッグなどに便利です。以下は「-v」の例です。3#1#2#3「-x」も同様にコマンドを出力するオプションなのですが、少し違います。3#3はい、「-x」の場合はforが展開されています。「-x」のほうがよりデバッグ用途に使いやすいかなと思います。-Bブレース展開を有効にします。デフォルトで有効です。ブレース展開とは?というのは、下記の例を見てもらえればわかると思います。hoge.2という感じで展開されます。以下のようなこともできます。)で既存ファイルへの書き込みができなくなります。「>|」と書くと上書きできます。filetest2-Pシンボリックリンクに対してcdする際に、シンボリックリンクを辿らず、物理的ディレクトリ構造が使われるようになります。有用そうなのもあれば、何に使うかわからないものもチラホラありました。-axueEあたりを付けておけば便利になるかなと思いました。Managerセッションマネージャー経由で使えるか試してみたOS自作入門してみた&やりきった2018年の振り返り&2019年やりたいことFirebaseを広め隊!講師のお仕事をやってます🔥なるべくお金をかけず個人開発をしていくには月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。