Se você quiser que a parte superior apareça o tempo todo, você pode usar a tela ou tmux . Embora esse não seja o recurso mais usado, ambos os programas oferecem suporte à divisão de uma janela em dois. Assim, você pode executar o seu shell interativo na janela inferior e usar um alias para cd
e exibir as coisas na janela superior. Uma maneira fácil de fazer esse último bit é criar um canal nomeado ( mkfifo ~/.window-pipe-$PPID
onde $PPID
é o ID do processo screen
ou tmux
process) e executar um script como este na janela superior (sintaxe sh , adapte-se a csh se precisar):
while read -r dir; do
printf '3[?9l%s' "$dir"
cd "$dir"
ls -lt
done <~/.window-pipe-$PPID
Você pode querer truncar a saída de ls
para caber na janela, já que é provavelmente mais útil manter as primeiras linhas que as últimas linhas, se não couberem. Na janela inferior, a substituição cd
seria uma função como (novamente, estou usando a sintaxe sh):
cd () {
builtin cd "$@" && pwd >~/.window-pipe-$PPID
}