Recentemente fui para o navio zsh
e estou usando o Oh my Zsh! tema blinks
. Parece muito bom no terminal OSX, mas parece muito ruim no terminal do Android Studio.
Portanto, minha pergunta é : existe uma maneira de verificar se esta sessão foi aberta no Android Studio e não no Terminal OSX e alterar o zsh
tema de acordo com isso?
java
, mude o tema.Respostas:
Como ninguém mais lhe deu uma resposta, estou tentando, apesar de ter um software completamente diferente. Portanto, esta é uma resposta genérica sobre como fazê-lo com qualquer software. Há duas abordagens que vêm à mente:
1. Ambientes diferentes
Abra o Terminal e execute
env > env.terminal
. Abra o Android Studio e executeenv > env.studio
. Agora, em qualquer terminal, você pode executardiff -dby --suppress-common-lines env.terminal env.studio
(se o diff do Mac OS X tiver essas opções; se não-U1
funcionar bem o suficiente).Como exemplo, aqui está a diferença entre
xterm
ekonsole
na minha caixa Linux (nota: espaçamento modificado para caber na página):Algumas dessas coisas são claramente ruídos de como lancei os dois terminais diferentes. Mas outros não são. Se eu quisesse algo apenas no XTerm, então
if [ -n "$XTERM_VERSION" ]
seria uma boa maneira de fazer isso. Da mesma forma, para o Konsole,$KONSOLE_PROFILE_NAME
seria bom (e provavelmente alguns outros também).2. Processos pai diferentes
Um shell conhece seu próprio ID de processo e pode ser acessado via
$$
. O POSIX também precisa$PPID
obter o PID pai diretamente, então eu suspeito que você o tenha no zsh também. Se não,ps
pode obtê-lo para você:ppid=$(ps -o ppid= $$)
. Você pode então executar o comando, também com o ps:(Você pode tentar
-o comm=
também).Em um script de shell, seria algo como:
Se você precisar ir além na árvore de processos, poderá usar
ps
para obter o pai do pai, etc.fonte