终端打开时显示以下内容:
bash: /home/atlas/.bashrc: line 73: syntax error near unexpected token `['
bash: /home/atlas/.bashrc: line 73: `if [ -x /usr/bin/dircolors ] ; then '
我尝试使用以下方法修复它:
cp /ect/skel/.bashrc ~/
我得到了这个:
cp: cannot stat `/ect/skel/.bashrc': No such file or directory
我不确定为什么会这样以及如何修复它。我之前一直在.bashrc
乱弄文件,显然我把某些东西弄乱了。我只想将.bashrc
文件恢复为默认设置。
答案1
我认为你的路径是错误的——它etc
不是ect
。
在 Ubuntu 中,有一个默认版本.bashrc
目录中的文件/etc/skel/
,因此如果您遇到问题,您可以恢复它。
为此,请按照以下步骤操作:
备份当前
.bashrc
文件:cp ~/.bashrc ~/.bashrc.bak
将骨架
.bashrc
文件复制到您的文件上:cp /etc/skel/.bashrc ~/
然后,加载新的:
source ~/.bashrc
答案2
复制内容https://gist.github.com/marioBonales/1637696/raw/337f7b60d4e3d9e887a0206dec6a737e94cdd26e/.bashrc
至~/.bashrc
。您可以使用诸如 的文本编辑器gedit
来完成此操作。
答案3
您不一定需要重新创建它,只需查看错误消息告诉您什么。它说您的文件中有语法错误。根据您提供的信息,我认为它在关键位置不正确。
代替
if [ -x /usr/bin/dircolors ] ; then
它应该是
if [ -x /usr/bin/dircolors ]; then
]
请注意和之间缺少空格;
。
另外,作为参考,这里是整个 if 块:
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
答案4
WSL Ubuntu 解决方案
此解决方案利用了为 WSL 开发的一款非常酷的软件。我假设您的~/.bashrc
文件是 istoast,并且您有 WSL。如果我的两个假设中的任何一个不正确,请停止阅读;这对您不起作用。
首先,你需要 GWSL(又名 Windows Subsystem Server for Linux)。GWSL 服务器将 Windows 连接到 Linux 发行版,并提供对 Linux 文件系统的访问权限。
下面是当您从任务栏右侧的任务视图按钮打开菜单时菜单的样子(假设您的任务栏位于桌面底部的默认位置)。
只需点击 Linux 文件按钮,然后选择您正在使用的发行版(假设您有多个发行版可供选择,对于 99% 的人来说,这将是 Ubuntu 或 Debian。)。如果这是我第一次使用 GWSL 服务器,有时它会让我从 3 个菜单中进行选择,其中有另一个文件选项(这次它没有弹出,所以请注意它被称为文件某物)。
下面是从我的桌面截取的截图。你的文件系统应该像这样。
重要提示:记下 Windows 文件浏览器中的文件路径
注意:文件路径应指向您删除
~/.bashrc
文件的发行版。如果不是,您将修复(或破坏)一个发行版,而这个发行版从一开始就没有损坏,并且您将不得不重复此操作两次。
- 我忘记了这个箭头,但是您想要打开文件夹 - 它与您使用 shell(在本例中为 bash)从本机终端从文件系统导航文件系统时的目录
etc
相同。/etc/...
弹出后
etc
,打开文件夹skel
。同样,这相当于etc/skel/...
。每次向系统添加新用户时,都会复制此目录,它会保留一个默认配置的~/.bashrc
文件,因为每个用户都需要一个,这就是你这样做的原因,因为你不再有一个。不要直接双击该
/etc/skel/.bashrc
文件。请先阅读步骤 4。就像我上面说的,你应该看到一个
.bashrc
文件。右键单击它,然后用编辑器打开它。我个人喜欢使用 VS Code。如果你正确地按照说明操作,它应该会在当天弹出。暂时不要编辑或复制粘贴。返回到您打开 Linux 文件系统的 Windows 文件导航窗口,然后导航回您的发行版主目录,我的读取内容为
\\wsl$\Ubuntu-20.04
,如果您使用通用 Ubuntu 发行版,它应该读取内容\\wsl$\Ubuntu
。注意:根据您对 Windows 的配置,路径可能看起来有所不同,但当您复制并粘贴它时,它应该看起来像我刚刚发布的路径(请记住我们现在在 Windows 中,所以我们使用反斜杠,而不是正斜杠)。
从您的发行版的基本目录(在 Linux 中是一个简单的正斜杠
/
)打开文件夹home
(在 Linux 中为/home
)。您应该会看到一个带有您的用户名的文件夹,打开它。
你现在应该在
\\wsl$\Ubuntu-20.04\home\$YOUR_USER_NAME
(显然 $YOUR_USER_NAME 不是文字语义,应该替换为“您的用户名”.) 随着时间的推移,我了解到,对于那些经验较少的人来说,有时需要说这些小事,所以我向寻求快速解决方案的经验丰富的用户道歉。右键单击
\\wsl$\Ubuntu-20.04\home\$YOUR_USER_NAME
并将鼠标悬停new
在右键单击菜单中。它应该打开另一个菜单,您可以在其中选择文件类型(我选择文本),任何文件都可以,无论如何我们都会删除扩展名。创建新文件后,将其命名为 .bashrc,然后打开它。最后但并非最不重要的:
将编辑器中的内容复制并粘贴到新
.bashrc
文件中,就完成了。