Đối với bash, hành vi của nó bị chi phối bởi chức năng shell command_not_found_handle(Xem man bash, trong phần THỰC HÀNH QUY ĐỊNH).
Để xem hành vi nào được xác định bởi chức năng đó, bạn có thể đưa ra:
declare -p -f command_not_found_handle
Bạn có thể thay đổi chương trình nào được sử dụng bằng cách xác định lại command_not_found_handlechức năng.
Trong Ubuntu 14.04 LTS, có vẻ như hành vi mặc định được xác định trực tiếp trong /etc/bash.bashrc:
# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "%s: command not found\n" "$1" >&2
return 127
fi
}
fi