関数を書く

関数を書く

誰かが存在しないコマンドを呼び出すとしましょう。後で実行するスクリプトでそのエラー状態を取得する唯一の方法は、次の方法を使用することです。source

つまり、スクリプトの名前がdummyそのコンテンツの場所にあると仮定します。

#!/bin/bash

echo $?

呼び出すと、私が探している(127)終了ステータスのみを取得できることがわかりますが、これを使用せずにスクリプト内の最後のコマンドから終了ステータスを取得するのにsource dummy役立つ可能性がある他の方法はありますか?私が望む動作を得るために単に電話をかけることはできますか?aliassourcedummy

前のコマンドのタイプミスを確認するスクリプトを作成したいと思います。これを行うには、最初に潜在的なミスがあるかどうかを確認するために前の終了ステータスを検出する必要があるため、スクリプトは最後のコマンドの終了ステータスを取得できる必要があります。また、ユーザーが実行する必要がある設定の量を最小限に抑えて、ユーザーが電話をかけただけで、残りの部分をdummy知って処理するようにしたいと思います。だから私はsource「または」.や「または」を避けようとしますalias

最後のコマンドの終了状態の初期テストは、以下を使用することでした。

#!/bin/bash
ESTATUS=$? # Saved exit status for later
echo $ESTATUS

しかし、これを行うには、またはをsource使用せずに複製するための良い方法はありますか?source.

ベストアンサー1

このスクリプトを使用することもできますhttps://github.com/rcaloras/bash-preexec(議論https://superuser.com/questions/175799/does-bash-have-a-hook-that-is-run-before-executing-a-command)precmd()関数を使用して$?

おすすめ記事