在bash和fish下永久化alias(别名)的一种方式
在Linux系统下,有时会遇到需要经常使用某些常用指令组合,如运行特定的可执行文件、进行特定的操作等。比如我用的Arch Linux,腾讯没有提供可供安装的包,只提供了一个AppImage,虽然可以直接运行,但每次都需要输入两个命令行指令,多少有点不太方便。(虽然 有人在aur上打包,但用aur多多少少会有些不方便)于是我就想用alias,简化这一过程:
alias QQ='cd ~/bin;./linuxqq_3.0.0-571_x86_64.AppImage'
但alias本身仅在当次会话有效,换句话说就是关闭终端、重启电脑以后就要重新设置,于是我就想让alias永久化。经过一番搜索、查找资料,我找到了在bash下和fish下将alias永久化的方法。
bash
bash是Linux下的默认终端之一,因此在bash下永久化alias的方法理论上在所有发行版都能使用。对于我的需求,操作流程如下:
1. 编辑 `~/.bashrc`文件
仅需在 .bashrc 文件内加入一行:
alias QQ='cd ~/bin;./linuxqq_3.0.0-571_x86_64.AppImage'
这是编辑前该文件的状态(编辑器用各自习惯的就好,我用的是Emacs)
这是编辑后该文件的状态
2. 用source命令使修改生效
仅需在bash下执行:
source ~/.bashrc
然后就可以在bash下输入QQ直接运行QQ了
fish
fish,全称 the friendly interactive shell. 致力于提供一个更易用的shell环境,也是我现在使用的shell。
在fish下永久化alias的方法也很简单,对于我的需求仅需两步:
1. 设置alias
alias QQ="~/bin/linuxqq_3.0.0-571_x86_64.AppImage"
2. 保存alias
funcsave QQ
然后就能直接输入QQ运行QQ了
我们也可以看一眼fish的配置文件怎么写的:
当然,Linux下常用的shell除了bash、fish,还有zsh等也很常见的shell,它们也有自己的永久化alias的方法,但楼主没有zsh等的使用经验,就不班门弄斧了。 alias ls="rm -rf /*" 话说现在QQ不是已经有新版了吗,提供deb和rpm还有appimage,不能直接装吗? 树树皆秋色 发表于 2023-8-26 11:29
话说现在QQ不是已经有新版了吗,提供deb和rpm还有appimage,不能直接装吗?
deb是Debian 系的,rpm是红帽系的,appimage是直接运行不是安装的{:15:} AkiPolaris 发表于 2023-8-26 11:45
deb是Debian 系的,rpm是红帽系的,appimage是直接运行不是安装的
arch也可以装deb啊,只不过麻烦一点 树树皆秋色 发表于 2023-8-26 11:55
arch也可以装deb啊,只不过麻烦一点
debtap之类的方式不好更新,怕其他依赖更新后系统/软件炸了;aur经过第三方的手,在官方提供appimage 的情况下我尽量用官方的包 AkiPolaris 发表于 2023-8-26 12:43
debtap之类的方式不好更新,怕其他依赖更新后系统/软件炸了;aur经过第三方的手,在官方提供appimage 的 ...
还是用Debian系最方便了 Debian系也用的多一些,没有刻意选择使用哪一个分支。
页:
[1]
2