строка 63: синтаксическая ошибка рядом с неожиданной знак `;' в bashrc следующее

у меня функция bash:

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" ;}

но это вызывает ошибку

$ 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" ;}'

Я не знаю, что вызывает ошибку, но комментируя эту строку, исправляет ее. Где моя функция bash сломана, пожалуйста? Спасибо

решение:

Я был в состоянии решить эту проблему путем разделения новых строк в моем .bashrc, это не то, что я хотел:

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"
}
12
задан codyc4321
02.03.2023 20:53 Количество просмотров материала 3415
Распечатать страницу

1 ответ

синтаксическая ошибка рядом с неожиданной знак ;

запуск вашего одного лайнера через ShellCheck выдает следующее предупреждение / ошибки (предупреждения зеленые, ошибки красные):

enter image description here

удаление ; с python manage.py runserver & ; удаляет ошибку, оставляя только предупреждения:

enter image description here


ShellCheck - статический анализ сценария оболочки tool

ShellCheck является инструментом GPLv3, который дает предупреждения и предложения для bash / sh shell скрипты:

скриншот терминала, показывающий проблемные строки сценария оболочки выделенный.

enter image description here

цели ShellCheck являются

  • чтобы указать и прояснить типичные синтаксические проблемы новичка, которые заставляют оболочку выдавать зашифрованные сообщения об ошибках.

  • указать и прояснить типичные семантические проблемы промежуточного уровня, которые заставляют оболочку вести себя странно и контр-интуитивно.

  • указать на тонкие предостережения, угловые случаи и подводные камни, которые могут привести к сбою рабочего сценария продвинутого пользователя в будущем обстоятельства.

Source ShellCheck

2
отвечен DavidPostill 2023-03-04 04:41

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх