Existem muitos comentários que se afastam da pergunta. A pergunta do OP foi
But now I need to use tail -f
, and it also line wraps the output. Is it possible to disable line wrap in a bash shell for all the commands?
Alguns comentários foram feitos sobre o recurso autowrap, afirmando que nem todos os terminais o possuem. Possivelmente. Mas (além do terminator , cujos desenvolvedores não documentam descrição do terminal ) todos os exemplos dados foram xterm, rxvt e alguns parecidos ou descendentes. Tudo isso está relacionado.
A opção +aw
em xterm
corresponde ao recurso autoWrap
. Consultando o manual, diz que
autoWrap (class AutoWrap)
Specifies whether or not auto-wraparound should be enabled.
This is the same as the VT102 DECAWM. The default is "true".
e nas seqüências de controle do XTerm ele diz
CSI ? Pm h
...
DEC Private Mode Set (DECSET).
Ps = 7 -> Wraparound Mode (DECAWM).
que certamente não "depende da sua escolha de terminal", já que qualquer terminal com compatibilidade com o VT100 suporta o recurso. xterm e rxvt fazem isso, por exemplo. Os outros também.
Se o recurso seria útil para OP, é discutível. A supressão de quebra de linha é apenas um dos aspectos do problema:
- O shell conhece a largura do terminal - mas isso pode ser substituído definindo
COLUMNS
como um valor "grande".
- É claro que isso significa que os aplicativos gastarão muito tempo escrevendo na margem direita (e alguns, errando, iniciarão uma nova linha de qualquer maneira).
- OP provavelmente assumiu que o aplicativo rolaria para a esquerda / direita para tornar o terminal amplo utilizável. (o terminador faz isso - parcialmente - mas seus outros inconvenientes cancelam isso, exceto aqueles que usam apenas o terminal para
cat
'de um arquivo de log na tela).
- o que o OP realmente está procurando é um conjunto de ferramentas que podem ser instruídas para desabilitar a quebra de linha, especialmente para exibir arquivos de log. Se o terminal funciona bem o suficiente para uso geral, é irrelevante para a escolha de ferramentas que se utiliza dentro do terminal.
Existem pagers que podem fazer o que é necessário, por exemplo, multitail , que lista seus recursos
Line wrapping can be switched off, after that one can scroll to the left/right with the cursor keys
Sendo baseada em ncurses, deve funcionar em qualquer um dos terminais citados.