9

我收到意外的文件结束错误。我不确定如何解决它。

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions

export PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[1;32m\]\$\[\e[m\] \[\e[1;37m\]'

export LS_COLORS='di=35;1'


alias la='ls -lah'
alias cdu='cd /home/hzhang/primary'

#module load gnu-compilers/4.7.0
#module load mvapich3/gnu/1.7

.ls /opt/intel/Compiler/11.1/072/bin/ifortvars.sh intel64

#PATH=$PATH:/home/hzhang/primary/over2.2e/bin_dp:/home/hzhang/primary/foiltest
PATH=$PATH:/opt/overflow/intel/serial/bin_dp/:/home/hzhang/primary/chimera2.1/bin_dp/:/u/primary/hzhang/pegasus/bin_dp
export PATH

ulimit -s unlimited 
4

8 回答 8

18

由于缺少“fi”行,我遇到了同样的错误。确保省略语法错误。原始 .bashrc 位于 /etc/skel/。所以只需运行以下命令:

cp /etc/skel/.bashrc ~

于 2014-09-06T19:13:13.703 回答
11

我面临着类似的问题。使用 Windows 10 附带的 bash,不知何故,行尾已更改为 Windows 行尾 (CRLF)。将文件改回使用 unix 行结尾解决了这个问题。

将 eh 行结尾转换为 unix 结尾,看看是否能解决问题。如果在 Vim 中编辑,请输入命令:set fileformat=unix并保存文件。其他几个编辑器具有转换行尾的能力,例如Notepad++Atom

于 2017-10-27T14:21:17.730 回答
4

这样的语法错误很容易找到。乍一看该文件看起来不错,所以我建议您注释掉每一行(用#),看看错误是否仍然存在。

然后只做二分查找,即在文件的前半部分注释。如果第三季度继续有效(否则第一季度)。等等。

于 2012-08-13T08:03:24.680 回答
1

我有一个类似的问题,结果是函数末尾缺少“}”。我备份了有故障的那个(以便了解我的设置是什么),然后复制原始的罚款(cp /etc/skel/.bashrc ~)并再次添加这些行。

于 2014-11-04T00:18:01.347 回答
0

这个 .bashrc 应该是从 windows 编辑的。fromdos .bashrcé 更正此文件以获取它。

于 2013-08-01T12:33:37.693 回答
0

I had the same issue because i made some changes in my .bashcr file and messed up the terminal. Follow command fixed my issue:

ecp /etc/skel/.bashrc ~
于 2020-08-08T06:02:07.680 回答
-1

只需从终端打开文件gedit .bashrc 文件将打开,转到底部,看看是否fi缺少那里,如果没有,添加它。只需将“fi”放在最后的左边距并用“关闭所有命令菲”。看这里

于 2019-04-14T09:10:31.860 回答
-3

. . . 如果 !shopt -oq posix;那么如果 [ -f /usr/share/bash-completion/bash_completion ]; 然后 。/usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; 然后 。/etc/bash_completion fi Fi 在我的终端的第一行我得到了 /.bashrc 文件末尾有错误但是当我将Fi更改为fi时它工作得很好

. . . . 如果 !shopt -oq posix;那么如果 [ -f /usr/share/bash-completion/bash_completion ]; 然后 。/usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; 然后 。/etc/bash_completion fi fi

于 2019-03-30T08:37:42.840 回答