Kornシェルには、Bashのcommand_not_found_handleと同じ機能がありますか?

Kornシェルには、Bashのcommand_not_found_handleと同じ機能がありますか?

KornシェルにPROMPT_COMMANDと同等の機能がありますか?

Bashでは、単一の入力単語が正規表現と一致するときに引数を使用して関数呼び出しを作成できます。 Kornシェルはこれを行うことができますか?

ksh88と仮定します。

たとえば、Bashでは、コマンドラインに正規表現に一致する1つの単語を入力して関数を呼び出すことができます。

command_not_found_handle()
{

    if [[ $1 =~ ^[A-Z]+\.[0-4]+$ ]]; then
        callFunction "$1"
        return 222;
    else
        printf "command not found: %s\n" "$1" >&2
        return 127
    fi
}

そして

PROMPT_COMMAND='[[ $? -eq 222 ]] && callFunction'

ksh88で同様のことができますか?

ベストアンサー1

ksh93PROMPT_COMMAND懲戒機能もサポートすることができます(以下を介して)。dgk)。

function PS1.get 
{
    integer exitval=$?
    eval .sh.value=$($PROMPT_COMMAND)'$PS1'
    return $exitval
}

おすすめ記事