OS / X: não pode executar scripts shell - gera uma nova janela que sai imediatamente

1

Problema:

Quando tento abrir scripts de shell, uma nova janela é gerada, que sai imediatamente. Os arquivos .bash_profile , .bashrc e helloworld.sh são exemplos testados.

Curiosamente, executando open helloworld.sh outputs:

Jake:~ jakebanks$ /Users/jakebanks/helloworld.sh; exit;
Hello World!
logout

O que parece dizer que foi executado com sucesso. A saída de echo ${PIPESTATUS[0]} (na primeira janela) é 0 .

Configuração:

Recentemente eu mudei meu terminal padrão para o iTerm2, e esta é a mudança mais recente que me lembro de ter feito antes de ter esse problema.

  • Editor de texto padrão é Sublime Text 2.
  • O shell padrão é bash.
  • FWIW, o problema é agnóstico do terminal.

O conteúdo de .bash_profile é (por enquanto):

PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH

O conteúdo de .bashrc:

#!/bin/bash
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/jakebanks/.sdkman"
[[ -s "/Users/jakebanks/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/jakebanks/.sdkman/bin/sdkman-init.sh"

O que eu tentei:

  • Alterando shells
  • Abertura de arquivos de script não shell (por exemplo, arquivos de texto) com sucesso
  • Redefinindo os perfis para seus padrões no Terminal e no iTerm2

Solução:

Acontece que eu estava confuso sobre como os scripts de shell são invocados a partir do terminal. O comando, na verdade, deveria ter sido sh helloworld.sh , em vez de open helloworld.sh

    
por Jake Banks 12.12.2015 / 07:48

0 respostas