linha 63: erro de sintaxe próximo ao token inesperado ';' em bashrc

1

Eu tenho a função bash de:

myworkhomebrewapp(){ atom $HOMEBREW_FRONTEND; atom $HOMEBREW_BACKEND; workon homebrew_server; cd $HOMEBREW_BACKEND; python manage.py runserver & ; /usr/bin/open -a "/Applications/Google Chrome.app" "file:///Users/cchilders/projects/good_brews/frontend/index.html" ;}

Mas isso causa erro

$ src
-bash: /Users/cchilders/.bash_profile: line 63: syntax error near unexpected token ';'
-bash: /Users/cchilders/.bash_profile: line 63: 'myworkhomebrewapp(){ atom $HOMEBREW_FRONTEND; atom $HOMEBREW_BACKEND; workon homebrew_server; cd $HOMEBREW_BACKEND; python manage.py runserver & ; /usr/bin/open -a "/Applications/Google Chrome.app" "file:///Users/cchilders/projects/good_brews/frontend/index.html" ;}'

Eu não sei o que causa erro, mas comentar essa linha corrige isso. Onde está minha função festiva quebrada por favor? Obrigado

Uma solução:

Consegui corrigir o problema dividindo novas linhas no meu .bashrc, o que não é o que eu queria:

myworkhomebrewapp(){
    atom $HOMEBREW_FRONTEND
    atom $HOMEBREW_BACKEND
    workon homebrew_server
    cd $HOMEBREW_BACKEND
    python manage.py runserver &
    sleep 5
    /usr/bin/open -a "/Applications/Google Chrome.app" "file://$HOMEBREW_FRONTEND/index.html"
}
    
por codyc4321 15.12.2016 / 01:42

1 resposta

2

erro de sintaxe próximo do token inesperado ;

A execução do seu one liner através do ShellCheck lança os seguintes avisos / erros (os avisos são verdes, os erros são vermelhos):

Removero;depythonmanage.pyrunserver&;removeoerro,deixandoapenasosavisos:

ShellCheck-Umaferramentadeanáliseestáticadescriptdeshell

ShellCheckisaGPLv3toolthatgiveswarningsandsuggestionsforbash/shshellscripts:

Screenshotofaterminalshowingproblematicshellscriptlineshighlighted.

enter image description here

The goals of ShellCheck are

  • To point out and clarify typical beginner's syntax issues that cause a shell to give cryptic error messages.

  • To point out and clarify typical intermediate level semantic problems that cause a shell to behave strangely and counter-intuitively.

  • To point out subtle caveats, corner cases and pitfalls that may cause an advanced user's otherwise working script to fail under future circumstances.

Fonte ShellCheck

    
por 15.12.2016 / 02:07