bash配置语法错误

时间:2016-01-30 04:46:06

标签: bash perl vps

我正在Bluehost上建立一个全新的VPS。我一登录,就知道出现了什么问题。当我启动switch (testStatusId) { case 4: case 5: // do whatever break; case 6: // something else break; default: // everything else } shell时,我收到此错误:

bash

我将问题追溯到bash: eval: line 9: syntax error: unexpected end of file 中的eval $(perl -Mlocal::lib)行:

/etc/profile.d/locallib.sh

当我在bash提示符下执行#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提示符下执行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完全没有希望,所以我在这里不稳定。谢谢!

1 个答案:

答案 0 :(得分:3)

由于某种原因,local::lib中的代码错误地将您的shell标识为csh。您可以根据documentation强制使用--shelltype bourne

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

我推测您的帐户可能已设置为tcsh作为默认shell。您可以使用chsh永久更改此值,在这种情况下,此解决方案应该是不必要的。