我有时会在 Ubuntu (18.04.5) 笔记本电脑上使用虚拟终端,命令会返回错误。例如,我这样做:
- Ctrl+ Alt+F3
- 登录我的账户
bob@mylaptop:$ ls
file1 file2 file3
-bash: eval: line 2: premature end of file (EOF) when looking for matching "'"
-bash: eval: line 3: syntax error: premature end of file
(抱歉,错误出在法语中,所以这是个人翻译)
我知道代码中缺少引号eval
,但我不知道如何修复它。其他命令返回相同的异常
命令仍然返回预期结果,并且我没有发现任何缺失的引号~/.bashrc
。我的普通终端(Gnome Terminal)工作正常。
编辑 :
我发现这个文件调用了eval
但没有做任何事情。这个文件被/etc/profile
$ cat 01-locale-fix.sh
# Make sure the locale variables are set to valid values.
eval $(/usr/bin/locale-check C.UTF-8)
$ cat /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "${PS1-}" ]; then
if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
这是 $PS1
$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]Bob@Laptop\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
跟踪并将set -x
其与 opam 链接,这是使用过的东西。有一个很长的句子,其中'can'\''t'
存在,我认为这是错误的。
$
++ _opam_env_hook
++ local previous_exit_status=0
+++ opam env --shell=bash --readonly
++ the long sentence with 'can'\''t' in it.