回答:
これを試してみてください:
command || true
からman bash
:
失敗したコマンドがwhileまたはuntilキーワードの直後のコマンドリストの一部である場合、予約語ifまたはelifの後に続くテストの一部、&&または⎪⎪リストで実行されるコマンドの一部である場合、シェルは終了しません最後の&&またはfollowingに続くコマンド、パイプライン内の最後以外のコマンド、またはコマンドの戻り値が!で反転されている場合。
試す(executable ; exit 0)
か、常に0を終了するシェルスクリプトでラップします。
(cd foo; exit 0)
成功した場合、以前にあったcwdにcwdが返されるので、後で "foo"になりません。ただし、cd foo || true
成功すると「foo」のままになります。