我得到一个意外的文件结束错误。我真的不知道如何修复它。
# 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
字符串
9条答案
按热度按时间f4t66c6m1#
由于缺少“fi”行,我遇到了同样的错误。请确保忽略语法错误。原始的.bashrc位于/etc/skel/中。因此只需运行以下命令:
cp /etc/skel/.bashrc ~
swvgeqrz2#
我也遇到了类似的问题。使用Windows 10自带的bash,不知何故,行尾已经更改为Windows行尾(CRLF)。将文件更改回使用UNIX行尾解决了这个问题。
将eh行尾转换为unix行尾,并查看这是否解决了问题。如果在Vim中编辑,请输入命令
:set fileformat=unix
并保存文件。其他几个编辑器可以转换行尾,例如Notepad++或Atomtkclm6bt3#
这样的语法错误很容易找到,乍一看文件看起来没问题,所以我建议你注解掉每一行(用
#
),看看错误是否仍然存在。然后只做二进制搜索,也就是在文件的前半部分注解。如果这样做可以继续第三个季度(否则与第一季度)。等等。
ktecyv1j4#
我也遇到过类似的问题,原来是函数末尾缺少了一个“}”。我备份了这个错误的函数(为了了解我的设置是什么),然后复制了原来的fine(cp /etc/skel/.bashrc ~),并再次添加了这些行。
5fjcxozz5#
我也有同样的问题,因为我在我的. blog文件中做了一些更改,并搞砸了终端.跟随命令修复了我的问题:
字符串
jbose2ul6#
此.bashrc应已从windows. fromdos .bashrcé编辑,以更正此文件,从而获取其源代码。
wfsdck307#
谢谢你的主题。
而不是注解掉整个文件或复制和恢复它,你可以做一个diff:
字符串
如果它是简单的,你很快就会看到它。
我也遇到了同样的问题。我注解掉了一个
fi
,却没有注意到它。ivqmmu1c8#
只需从终端通过
gedit .bashrc
打开文件文档将打开,转到底部,看看是否缺少fi
,如果没有添加它.只需将“fi”放在最后的左边距,并关闭所有命令“fi”. see heregoucqfw69#
如果!shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fiFi在我的终端的第一行,我得到了There is error at the end of/.bashrc file但当我将Fi更改为Fi时,它工作正常,如
. if!shopt -oq posix; then if [ -f /usr/share/bash_completion ]; then . /usr/share/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fifi