Para comandos que eu uso com frequência, geralmente configuro um function
no meu .bashrc para fazê-los paginar se for mais longo que uma tela.
Como seu exemplo: (ps -A)
function ps { command ps "$@" |& less -F; }
Isso substitui ps
por uma função chamada ps
, que chama o comando ps
original com os argumentos fornecidos na linha de comando, e canaliza a saída (stdout e stderr, usando o |&
pipe) em less -F
, que faz uma pausa se houver mais de uma tela cheia, mas sai imediatamente se for menor que uma tela cheia.
MUITO à mão, não interfere em nada com o que trabalhei até agora e é simplesmente legal!
Você também pode adicionar opções muito usadas ao comando / funções:
function nm { command nm --demangle "$@" |& less -F; }
Isso faz com que nm
sempre demangle símbolos C ++. AND pagina a saída. Yay!
Eu estou rodando Debian , então eu uso o comando apt-cache
com bastante frequência, pesquisa e mostra principalmente. Essa função faz com que essas opções específicas paginem, a saída pesquisa seja classificada e tudo pagine:
function apt-cache { case "$1" in "search") command apt-cache "$@" | sort | less -F;; *) command apt-cache "$@" | less -F;; esac; }
Se o comando for 'search', classifique a saída e, em seguida, pagine com less -F
, mas se o comando for qualquer outra coisa, apenas pagine, sem classificar.
Ocasionalmente esqueço que tenho as funções e faço algo como:
apt-cache search gcc | less
A função não interfere, tudo funciona como esperado, sem nenhum dano.
Outro pequeno ajuste, eu uso o mesmo .bashrc
em todos os meus sistemas, então às vezes um utilitário pode não ser instalado, então não há necessidade da função. Eu os faço condicionais assim:
which apt-cache &>/dev/null && function apt-cache { case "$1" in "search") command apt-cache "$@" |& sort | less -F;; *) command apt-cache "$@" |& less -F;; esac; }
Isto apenas usa o comando which
para determinar se um programa está disponível, se não estiver, ele silenciosamente falha e ignora a instalação da função. Taa Daa!