Como tornar a linha de comando visível mais longa?

1

Eu tenho uma máquina que roda Linux customizado, e eu faço login no sistema pelo PuTTY.

Descobri que estou usando bash . E o PS1 é

sh-4.1# echo $PS1
\s-\v\$

quando eu digito o seguinte:

sh-4.1# ls a very long path i will not be able to see the rest of the command line

vou ver

sh-4.1#
< i will not be able to see the rest of the command line

Eu posso usar a tecla de seta para a esquerda para avançar:

sh-4.1# ls a very long path i will not be able to see the rest of the command >

Isso é muito inconveniente, já que você precisa mover o cursor para ver o resto da linha de comando.

Como posso mostrar toda a linha de comando?

    
por Deqing 07.08.2013 / 05:20

3 respostas

2

Ninguém usa sh mais, é sempre um link simbólico para o shell padrão específico da distribuição ( ash , ksh , bash , dash , zsh , etc.). Você pode verificar com readlink -e $(which sh)

Você está usando um Virtual Terminal ou um emulador de terminal, como gnome-terminal , xterm , konsole , etc?

Em qualquer caso, aqui vai um truque: Pressione CTRL + X + E para inicializar um editor (definido pela variável de ambiente EDITOR ) depois salve & sair e seu longo comando será executado.

Você pode querer alterar o editor padrão usando export EDITOR="nano -w"

Fonte: Commandlinefu - Invoca rapidamente um editor para escrever um comando longo, complexo ou complicado

    
por 07.08.2013 / 06:42
1

Não parece haver nada de interessante acontecendo dentro de sua variável PS1 , portanto, desvie o foco do shell que você está usando.

PuTTY , hein? Uma pesquisa rápida resultou em um relatório de erros sobre o agrupamento. Eu uso o MobaXterm na ocasião em que sou forçado a usar o Windows (o terror).

No entanto, acionou uma VM e ficou " Auto wrap mode initially on " ativada por padrão e, na verdade, funciona. Você tem essa configuração ativada?

    
por 12.08.2013 / 11:31
0

Se você tiver que inserir o caminho de uma só vez, sugiro alterar o prompt. Se você não se importar de voltar ao bash, você poderia adicionar uma nova linha perto do final da definição da variável PS1, o que moveria o clichê para uma linha separada, dando a você mais da linha para trabalhar. Isso seria feito editando seu .bashrc , assim:

# Original line from ~/.bashrc:
PS1='\s-\v# '
# ^^ prints "bash-4.2# _" as the prompt on my system
# (Ignore parens, underscore shows cursor position)
# or insert '\n':
PS1='\s-\v\n# '
#         ^^ newline, now prints
# "bash-4.2
#  # _"

A desvantagem disso é que o prompt agora ocupa mais espaço na tela e, dependendo do prompt original, pode fornecer apenas mais alguns caracteres para trabalhar por linha.

Dito isto, é realmente obrigatório que o caminho seja inserido de uma só vez? Poderia valer cd down em alguns níveis (já que você já sabe a localização deles do caminho) e então executar ls ou qualquer outra coisa.

    
por 07.08.2013 / 06:54