我正在尝试创建一个 bash 别名来遍历几个文件夹,但关闭终端后该别名不会保存。
我已经将别名保存在 .bashsrc 文件中,并且还运行了命令。 〜/.bashsrc。
这是我所做的:
sudo nano .bashsrc
bashsrc 内部:
alias x = 'cd Documents/Photos/Family'
然后保存并退出。
. ~/.bashsrc
别名在该终端窗口中工作,但如果我重新启动终端或打开新选项卡,则显示“未找到命令”。
您应该更喜欢在
~/.bashrc
和 ~/.bash_profile
中设置更改。
alias x='cd Documents/Photos/Family'
此外,请记住别名不会导出到子 shell,并且在使用此别名时,您始终需要位于
Documents
所在的目录中。我猜你的 Documents
目录存在于 home 中,所以如果你执行以下操作会更好:
alias x="cd "$HOME"/Documents/Photos/Family"
只需将此行添加到两个文件的末尾并保存即可。
简单来说,有两种类型的 shell 适合您的情况:登录和非登录交互式 shell。
在启动登录 shell 之前,获取
.bash_profile
,在启动非登录 shell 之前获取 .bashrc
。
因此您应该在两者中添加更改。
如果您使用的是 macOS,则
.bashrc
对于您的情况几乎没有用处。 MacOS 会将您在终端中打开的每个 shell 视为登录 shell。虽然有一些例外我不记得了。
正如 David 在评论中提到的,在某些发行版中
~/.bash_profile
只是 ~/.profile
(例如 Debian、openSUSE 等)。
我制作了一个脚本,可以更改
alias
以将别名回显到文件中以保存它们。还使您能够在不打开文件的情况下删除别名。您使用它就像平常使用alias
一样