首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash配置语法错误

bash配置语法错误
EN

Stack Overflow用户
提问于 2016-01-30 04:46:05
回答 1查看 227关注 0票数 1

我要在Bluehost上建立一个全新的VPS。我一登录,就知道出了问题。当我启动一个bash外壳时,我会得到以下错误:

代码语言:javascript
复制
bash: eval: line 9: syntax error: unexpected end of file

我将问题跟踪到/etc/profile.d/locallib.sh中的行/etc/profile.d/locallib.sh

代码语言:javascript
复制
#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

当我在bash提示符下执行eval $(perl -Mlocal::lib)时,我得到了错误bash: syntax error: unexpected end of file。当我在bash提示符下执行perl -Mlocal::lib时,我得到如下信息:

代码语言:javascript
复制
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完全没有希望,所以我在这里的处境很不稳定。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-30 11:54:13

由于某些原因,local::lib内部的代码错误地将您的shell识别为csh。您可以强制使用--shelltype bourne,根据文档

代码语言:javascript
复制
eval $(perl -Mlocal::lib=--shelltype,bourne)

我推测您的帐户可能是以tcsh作为默认shell设置的。您可以用chsh永久地改变这种情况,在这种情况下,这种解决办法应该是不必要的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35098089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档