Enquanto escrevia um script para ksh
, notei que a opção -a
do comando whence
interno do ksh parece não ser suportada em versões anteriores de ksh
. E isso parece ser verdade em todos os sistemas que eu verifiquei, incluindo Solaris, AIX, HP-UX e Linux.
Então aqui está a solução como uma função ksh:
is_modern_ksh() {
if whence -a whence > /dev/null 2>&1 ; then
return 0 #success -> true
fi
#Else the call to 'whence' failed because '-a' is not supported
return 1 #failure -> false
}
E aqui está como usá-lo:
if is_modern_ksh ; then
echo "You're using a MODERN version of ksh. :)"
else
echo "You're using an OLD version of ksh. :("
fi