なる可能性が高いです。入っていればそっちが使われるというのがあります。空に置換され、エラーになりません。スクリプトの終了コードは正常(?=0)となります。使おうとしたところで中断し、スクリプトは異常終了(?=1)となってくれます。シェルスクリプトはコンパイルしないため変数名のタイポに気づきにくいところがあります。指定するようにしておくと、タイポした変数を使ってスクリプトが続行してしまう事を防止できます。変数が未定義でも許したい場合があります。未定義のエラーとなってしまうので使用法を表示する処理に進めません。未定義の場合は空に置換されエラーとなりません。オプションをタイポしています。終了コードも正常となっています。information.?=1エラーが起きた行で中断してくれます。設定してると予想外のエラーを無視してスクリプトが処理を続行するのを防げます。補足コマンドがエラーになっても無視して続行したい場合があります。指定した文字列がヒットしたら正常(0)、ヒットしなかったらエラー(1)を返す仕様となっていますが、ヒットしない場合も何かしら処理したい事が大抵です。コマンドを実行する前から無くなっていても気にせずエラーにしたくない時があります。指定したスクリプトで、コマンドがエラーになっても続行される手段を紹介します。条件コマンドはエラーを返してもスクリプトは中断しません。コマンドの結果で分岐する場合はこの方法が妥当でしょう。オプションを指定すると指定したファイルが存在しなくてもエラーとなりません。フォルダが空でない場合はエラーにならずフォルダを残しますこのように、コマンド側でよく使うケースを考慮してオプションを設けている事があります。いうコマンドが存在しなくてもスクリプトはエラーを無視して続行します。パイプの右端のコマンドがエラーとなった時のみ有効です。引数は再びタイポしています。指定しているのに関わらずエラー時点でスクリプトが中断しない。information.?=1パイプ内のコマンドのエラーでも中断するようになります。結果が変わってきたりします。設定が違っていたらスクリプトが想定通りに動かないと言う事があり得ます。違っていても誤動作を避けられます。スクリプトを作成するときに習慣的に最小限以下のコマンドを先頭に書くようにしています。参考までに紹介しておきます。LC_ALL=C最後にマネーフォワードでは基本を大事にしつつ、爆速で開発できるエンジニアを募集しています。