1

У меня есть команда для запуска livy-server который работает в командной строке напрямую:

$cd /git/livy; nohup bin/livy-server > /tmp/livy.log 2>&1 &
[1] 4370
19:11:11/livy $
19:11:12/livy $ll /tmp/livy.log
-rw-r--r--  1 boes  wheel  436 Jan 26 19:11 /tmp/livy.log

Но это не из функции. В моем ~/.profile есть функция для запуска livy-server:

startlivy() { cd /git/livy; nohup bin/livy-server > /tmp/livy.log 2>&1 & ; }

/Users/boescst/.profile: line 432: syntax error near unexpected token `;'
-bash: /Users/boes/.profile: line 432: `startlivy() { cd /git/livy; nohup bin/livy-server > /tmp/livy.log 2>&1 & ; }'

Проделайте & амперсанды нужно экранировать каким - то образом?

Кстати, хотя это, вероятно, не влияет на результат - я нахожусь на El Capitan .

2 ответа2

1

Проблема заключается в последней точке с запятой, которую необходимо удалить.

startlivy() {cd /git /livy; nohup bin /livy-server> /tmp/livy.log 2> & 1 &}

0

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

startlivy() { 
     cd /git/livy
      nohup bin/livy-server > /tmp/livy.log 2>&1 &  
}

Примечание: если кто-то знает, как справиться с этим в один лайнер, я хотел бы знать - и наградит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .