Como as opções de estilo antigo, como -5
, +5
, são reconhecidas apenas como o primeiro argumento, você poderia fazer:
head()
case $1 in
([-+][0-9]*) command head "$@";;
(*) command head -n 15 "$@"
esac
Isso afetará o head
s invocado pelo seu shell atual.
Se você quiser afetar todas as invocações da cabeça, será necessário escrevê-lo como um script que aparece primeiro no seu $PATH
:
mkdir -p ~/bin && cat > ~/bin/head << \EOF &&
#! /bin/sh -
case $1 in
([-+][0-9]*) ;;
(*) set -- -n 15 "$@"
esac
exec /usr/bin/head "$@"
EOF
chmod +x ~/bin/head
PATH=~/bin:$PATH export PATH