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
ksh93
PROMPT_COMMAND
懲戒機能もサポートすることができます(以下を介して)。dgk)。
function PS1.get
{
integer exitval=$?
eval .sh.value=$($PROMPT_COMMAND)'$PS1'
return $exitval
}