获取 ~/.bashrc 时出错

获取 ~/.bashrc 时出错

我最近想为不同的命令创建别名。我发现我必须将别名添加到 ~/.bashrc,然后如果我想在实际会话中实际进行更改,请获取该文件。

源导致了一些我真的不知道如何解决的错误。错误如下:

/home/educpf/.bashrc:type:64: bad option: -P
/home/educpf/.bashrc:105: command not found: shopt
/home/educpf/.bashrc:107: command not found: shopt
/home/educpf/.bashrc:112: command not found: shopt

有错误的行是这样的:

如果输入 -P dircolors >/dev/null ;然后

shopt -s checkwinsize

shopt -s 扩展别名

shopt -s histappend

这很奇怪,因为我没有对此文件进行任何更改,所以我假设一切都按预期工作,但我想不是。这是正常现象吗,我应该改变什么?感谢您的所有反馈! :)

答案1

错误消息表明您没有运行bashshell。我猜想您可能正在使用zshshell,其内置type实用程序没有-Pbash.除此之外的炮弹bash也缺乏shopt实用性。我现在不知道 Manjaro 的默认登录 shell 是什么,但似乎存在 Manjaro 的一个变体,称为很棒的社区版zsh,默认使用shell。

鉴于shell 在 Linux 世界中无处不在,关于如何添加别名的教程(或任何可能的内容)默认bash描述 shell 并不奇怪。而且,您周围有初始化文件,这些文件要么来自前世,要么由发行版放置在那里,以支持可能想要更改其默认登录 shell 的用户,bash这并不奇怪。bash

要在zshshell 中添加别名,请将它们放入您的~/.zshrc文件中($ZDOTDIR/.zshrc如果定义了变量,则放入文件中ZDOTDIR),或者放入源自该文件的文件中。该文件对应于bashshell 的~/.bashrc文件,即它是启动交互式 shell 时获取的点脚本。

幸运的是,定义别名的语法zsh与 in 相同bash,至少对于基本用法而言。

相关内容