Escrevendo um programa que irá demonstrar a variável $ PS2

4

Estou personalizando meu prompt de terminal e descobri que é possível alterar o "prompt secundário". No entanto, não tenho como testar as alterações que fiz a esta, por isso queria saber se um script simples poderia ser escrito para testar o novo $PS2 ?

    
por Brian Sizemore 16.04.2015 / 16:57

1 resposta

5

De man bash :

   PS2    The value of this parameter is expanded as with PS1 and used  as
          the secondary prompt string.  The default is ''> ''.

A "string de prompt secundária" é o que é mostrado quando você tem entrada de várias linhas. Por exemplo:

$ echo 'foo
>bar'

O > mostrado acima é PS2 . Se eu fosse mudar isso, eu veria assim que eu tentasse qualquer comando multi-line:

$ PS2="%"
$ echo 'foo
%bar'

As formas de executar comandos de várias linhas incluem:

  • Abra aspas (simples ou dupla) e pressione enter sem fechá-las.
  • Adicione uma barra invertida ao final de um comando e pressione enter :

    $ echo foo \
    >
    
  • Use um HEREDOC:

    $ echo <<<END  ## hit enter
    

Quanto a fazer isso com um script, isso não é necessário, mas você pode simplesmente escrever um script que imprima PS2 :

#!/usr/bin/env bash
printf "PS2 : %s\n" "$PS2"
    
por terdon 16.04.2015 / 17:07