Como posso criar um shell personalizado?

0

Eu quero ter um shell personalizado no meu IDE (como ter vários arquivos .profile ). Ele é configurável apenas para uma única execução e está atualmente definido como /bin/bash . Eu quero configurar o ambiente antes do shell para que cada shell aberto no IDE tenha o ambiente configurado. Como posso fazer isso?

Eu tentei criar um arquivo como este:

echo setting path
PG_BIN=/Users/user/Documents/pg/bin
export PATH=$PATH:$PG_BIN

echo git prompt
. ~/.bin/git-prompt.sh

e, em seguida, tentando executar isso, mas ele simplesmente falha, porque quando o script termina, o script termina.

    
por nycynik 14.12.2016 / 18:24

1 resposta

2

Existem pelo menos três maneiras de fazer isso.

  1. A execução de bash --rcfile mycustomrc lerá todas as personalizações necessárias no arquivo fornecido; tempere com --login ou --noprofile a gosto, dependendo se você quer ou não que o mycustomrc combine com as configurações padrão da shell.
  2. Atua em uma determinada configuração de ambiente para determinar se deve ou não carregar as configurações personalizadas nos arquivos de configurações padrão do shell. Ou seja, em .bashrc ou .bash_profile , coloque o código personalizado em if [[ $FOO_IDE -eq 1 ]]; then ... fi . O IDE precisaria definir essa variável de ambiente ou já pode definir algumas env env var para atuar. Talvez seja melhor se você quiser todas as suas configurações de shell nos arquivos usuais, e não espalhadas aqui e ali.
  3. Alimente a configuração do shell personalizado em um novo processo bash e, em seguida, interaja com ela. Veja por exemplo feed , feed.1 , zcomppoke , zcomppoke.1 para esse padrão em ação. Mais complicado, mas preenche o histórico e suporta coisas que são menos capazes de executar os dois tipos de personalização anteriores.
por 14.12.2016 / 18:59