Como usar a fonte dentro de um script bash para alterar o prompt do terminal?

0

Eu preciso usar um script em ~ / .local / bin / (que faz parte do $ PATH) para alterar rapidamente o prompt.

O resultado desejado pode ser alcançado executando o seguinte em um console:

 echo PS1='$\ ' > /tmp/ps1 && source /tmp/ps1 && rm /tmp/ps1

No entanto, quando colocado em um script, ele não afetará mais o console no qual ele é executado.

. .local/bin/bigfont funciona, mas escrever o caminho para o script (ou escrever qualquer coisa, exceto o nome do script) deve ser evitado.

Existe uma maneira de fazer isso usando um script? Se não, existe uma maneira simples de resolver isso usando C?

Obrigado!

    
por qubodup 06.11.2015 / 20:22

2 respostas

0

Existe um compromisso, que fará com que pareça que você está usando um script.

Escreva uma função Bash:

function miniprompt {
  PS1='$ '
  ~/.local/bin/somescript # or just somescript if it's in $PATH
}

Para garantir que a função esteja sempre disponível, coloque-a em ~/.bashrc e ~/.bash_profile (ou apenas ~/.bashrc se ela for carregada por ~/.bash_profile ).

garyjohn deixou claro que a pergunta contém uma suposição errada de que source deve ser usado e esclarecido que, em vez disso, é possível definir PS1='$ ' diretamente. Obrigado!

    
por 07.11.2015 / 18:30
0
function myprompt {
  export PS1=<set PS1 appropriately>
}

alias setprompt="PROMPT_COMMAND='myprompt'"

A execução do setprompt deve definir o seu prompt.

    
por 18.10.2018 / 15:42