Evitando o prompt [Processo Concluído] Após o Script do Terminal Terminar no Mac OS X


32

No meu editor de texto, vinculei uma tecla de atalho para implantar meu código invocando um comando como

/usr/bin/open /Users/blahblah/run_deploy

Esse script de implantação carrega meu código no meu servidor etc. Estou usando "aberto" para que eu possa ver a saída em uma nova janela do terminal, caso haja algum erro. Muito conveniente, mas no final deixa a janela do terminal aberta com o texto "[Processo concluído]".

Alguma maneira de pular isso e fechar a janela automaticamente?

Processo de terminal concluído


1
Você configurou o Terminal para fechar a janela quando o shell sair, parece um problema do Terminal. Você já tentou excluir o arquivo com.apple.Terminal.plistde preferências da pasta Preferências e tentou defini-lo novamente?
Chealion

Você ainda tem esse problema?
Daniel Beck

Respostas:


52

Nas Preferências do Terminal , no painel Perfis, selecione o Perfil que você usa (deve dizer "padrão" sob o nome), selecione o subpainel Shell e altere « Quando o shell sair: » para « Fechar se o shell sair corretamente ».

Não ocultará a [Process completed]mensagem, mas fechará a janela se o código de saída for bem-sucedido.


Por alguma razão, não posso alterar as configurações nessa janela do terminal. Se eu os alterar em outra janela do terminal e "usar como padrão", eles ainda não serão utilizados na nova janela do terminal. Aqui está o que a nova janela de terminal se parece com: i.imgur.com/u3tk4.png
Bemmu

Primeiro, para acelerar o teste, execute o seguinte: echo 'say hello' > test; chmod +x test(ele criará um executável que dirá olá); executar open testou clicar duas vezes no localizador executará o terminal por padrão. Na captura de tela, nenhum dos esquemas está selecionado (não sei como, não consigo desmarcar todos), então selecione Básico, pois está marcado como "Padrão", defina a configuração de fechamento e tente executar o script.
tig

Obrigado, mas que também não funcionou: i.imgur.com/cCo49.png
Bemmu

Qual versão do sistema operacional você usa (não sei se pode ser relacionado, eu uso 10.6.4)? Talvez isso seja devido a mensagens não lidas? Tente usar mailpara ler. Talvez algo de errado com o logout? Você tem ~/.bash_logoutarquivo, se sim, o que há dentro? Tente executar bash -c exit && echo 'ok'- você deve ver 'ok', também tente apenas executar exitno novo shell - ele deve fechar a janela. Você usa grupos de janelas? i.imgur.com/thPNV.png
tig

1
Você poderia colocar um comando "killall Terminal" no final do seu script ou algo assim? Eu sei que isso fechará a janela, não importa o que aconteça, mas você pode pelo menos observar o que está acontecendo DURANTE a execução do script (e você também pode enviar a saída para um log, apenas no caso).
Jrc03c

0

O reparo de permissões por meio do Disk utilityaplicativo resolveu o problema para mim.

Eu continuava vendo o erro no Consoleaplicativo:

20/08/2015 01:17:42.318 login[3291]: in pam_sm_open_session(): Unable to write the utmp record.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.