我最近想为不同的命令创建别名。我发现我必须将别名添加到 ~/.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
错误消息表明您没有运行bash
shell。我猜想您可能正在使用zsh
shell,其内置type
实用程序没有-P
像bash
.除此之外的炮弹bash
也缺乏shopt
实用性。我现在不知道 Manjaro 的默认登录 shell 是什么,但似乎存在 Manjaro 的一个变体,称为很棒的社区版zsh
,默认使用shell。
鉴于shell 在 Linux 世界中无处不在,关于如何添加别名的教程(或任何可能的内容)默认bash
描述 shell 并不奇怪。而且,您周围有初始化文件,这些文件要么来自前世,要么由发行版放置在那里,以支持可能想要更改其默认登录 shell 的用户,bash
这并不奇怪。bash
要在zsh
shell 中添加别名,请将它们放入您的~/.zshrc
文件中($ZDOTDIR/.zshrc
如果定义了变量,则放入文件中ZDOTDIR
),或者放入源自该文件的文件中。该文件对应于bash
shell 的~/.bashrc
文件,即它是启动交互式 shell 时获取的点脚本。
幸运的是,定义别名的语法zsh
与 in 相同bash
,至少对于基本用法而言。