Passando configurações de ambiente extras opcionais para o shell no momento do lançamento do Konsole

0

Eu tenho um monte de "chapéus" diferentes no meu computador, incluindo vários projetos on-the-go (por exemplo, $ work, alguns projetos no github, alguns no Sourceforge, alguns com os quais estou envolvido, seguir, etc.). Cada um tem seu próprio diretório pseudo-home (por exemplo, ~ / hat / $ projectname). Alguns possuem suas próprias configurações de ambiente específicas (por exemplo, ambiente de instância do DB2).

Então, eu tenho uma ferramenta de shell para alternar de um para outro ("hat $ projectname"). Ele encontra o diretório home correto, cd's para ele ("hat" é um apelido para ". Hat.sh" para que eu possa fazer isso), configura o ambiente, etc. Porque eu sou preguiçoso.

Agora eu quero ficar um pouco mais preguiçoso. Eu gostaria de configurar uma tecla de atalho para iniciar o Konsole com os parâmetros corretos para o chapéu que eu mais uso: $ work. Eu gostaria de pré-digitar efetivamente "trabalho de chapéu" na janela. Mas não tenho certeza de como passar isso através do konsole para basear no meu .profile (?) e deixar o shell rodando depois. Tudo isso enquanto não faço nada disso pela hotkey que eu já tenho que lança o Konsole normalmente.

    
por Tanktalus 25.04.2012 / 18:46

2 respostas

0

O que acabei fazendo é criar um novo perfil para o Konsole, "Work". E eu tenho que definir para executar o mesmo que o normal, mas pode definir variáveis de ambiente específicas, então eu disse a ele para definir HAT_PROJECT = trabalho como uma variável de ambiente adicional. Então, na parte inferior da minha .bashrc, simplesmente executo " . hat.sh $HAT_PROJECT " se estiver definida, e também descompacte para que não sobreviva.

Isso não é significativamente diferente da segunda opção do mgorvan, pois acaba criando um monte de lixo extra que eu esperava evitar.

Obrigado ao #kde no IRC por que a primeira opção não funcionou.

    
por 26.04.2012 / 01:00
2

O Konsole e o shell que ele executa herdarão quaisquer variáveis de ambiente definidas quando o Konsole for executado. O seguinte comando (que você poderia colocar em um script e atribuir uma tecla de atalho para) resultará na variável FOO sendo definida no shell:

$ FOO=bar konsole

A outra opção é criar scripts de inicialização diferentes para o seu shell (estou assumindo o bash abaixo) e modificar o comando que o Konsole executa:

$ konsole -e "bash --rcfile ~/.bashrc-$projectname"
    
por 25.04.2012 / 19:50