2016-01-30 6 views
1

Я настраиваю новый VPS на Bluehost. Как только я вошел в систему, я понял, что что-то не так. Когда я запускаю bash оболочки я получаю эту ошибку:ошибка синтаксиса конфигурации bash

bash: eval: line 9: syntax error: unexpected end of file 

Я отслеживал проблему вниз к линии eval $(perl -Mlocal::lib) в /etc/profile.d/locallib.sh:

#cPanel Added local::lib -- BEGIN 
LOCALLIBUSER=$USER 
if [ -e "/usr/bin/whoami" ]; then 
    LOCALLIBUSER=`/usr/bin/whoami` 
fi 
if [ "$LOCALLIBUSER" != "root" ]; then 
    eval $(perl -Mlocal::lib) 
fi 
#cPanel Added local::lib -- END 

Когда я исполняю eval $(perl -Mlocal::lib) на Баш строке, я получаю ошибку bash: syntax error: unexpected end of file. Когда я исполняю perl -Mlocal::lib на Баш строке я получаю это:

if ! $?PERL_MB_OPT setenv PERL_MB_OPT ''; 
setenv PERL_MB_OPT "--install_base "\""/home/MYUSERNAME/perl5"\"""; 
if ! $?PERL_MM_OPT setenv PERL_MM_OPT ''; 
setenv PERL_MM_OPT "INSTALL_BASE=/home/MYUSERNAME/perl5"; 

Почему я получаю эту ошибку? Как это исправить? Я относительно новичок в bash и совершенно безнадежно с perl, так что я здесь на шаткой почве. Благодаря!

+3

Какой результат вы получаете при запуске: 'perl -Mlocal :: lib'? Я ничего не ожидал бы, или, возможно, Perl зависает, ожидая, когда вы наберете что-то - в этом случае 'exit'' должен вернуть вам свое приглашение. (Я не могу найти локальный/lib.pm в @INC (@INC содержит: ...) 'и т. Д.) IOW, я думаю, что фрагмент cPanel в файле оболочки сомнительный - особенно часть Perl. –

+0

вы можете запускать непосредственно по команде perl. 'perl -Mlocal :: lib' –

+0

Я добавил вывод' perl' на мой вопрос. Я не знаю, что с этим делать. –

ответ

3

Код внутри local::lib неверно идентифицирует вашу оболочку как csh по некоторым причинам. Вы можете заставить его с --shelltype bourne в соответствии с documentation.

eval $(perl -Mlocal::lib=--shelltype,bourne) 

Я спекулируют, что ваша учетная запись может быть создана с tcsh в качестве оболочки по умолчанию. Вы можете изменить это навсегда с помощью chsh, и в этом случае это обходное решение, надеюсь, не понадобится.

+0

Спасибо! Это сделал трюк. Сообщение об ошибке исчезло, когда я изменил строку на 'eval $ (perl -Mlocal :: lib = - shelltype, bourne)'. –

Смежные вопросы