前段时间, Fedora 杂志发表了一篇介绍 ZSH 的文章——一种替代 shell Fedora的默认值, bash. 这一次,我们将研究自定义它以更有效地使用它。 本文中显示的所有概念也适用于其他 shell,例如 bash.
别名
别名是命令的快捷方式。 这对于为经常执行的操作创建短命令很有用,但需要很长的命令,这将花费太多时间来键入。 语法是:
$ alias yourAlias="complex command with arguments"
它们并不总是需要用于缩短长命令。 重要的是您将它们用于您经常执行的任务。 一个 example 可能:
$ alias dnfUpgrade="dnf -y upgrade"
这样,要进行系统升级,我只需键入 dnfUpgrade 而不是整个 dnf 命令。
在控制台中正确设置别名的问题是,一旦终端会话关闭,别名就会丢失。 要永久设置它们,使用资源文件。
资源文件
资源文件(或 rc 文件)是每个用户在会话或进程开始时加载的配置文件(当打开新的终端窗口或启动像 vim 这样的新程序时)。 对于 ZSH,资源文件是 .zshrc,对于 bash 它是.bashrc。
要使别名永久化,您可以将它们放入您的资源中。 您可以使用您选择的文本编辑器来编辑您的资源文件。 这 example 使用 vim:
$ vim $HOME/.zshrc
或为 bash:
$ vim $HOME/.bashrc
请注意,资源文件的位置是相对于主目录指定的 – 这就是 ZSH(或 bash) 将默认为每个用户查找文件。
其他选项是将您的配置放在任何其他文件中,然后获取它:
$ source /path/to/your/rc/file
同样,在您的会话中正确获取它只会将其应用于会话,因此要使其永久化,请将 source 命令添加到您的资源文件中。 将源文件放在不同位置的好处是您可以随时获取它。 或者在共享环境中特别有用的任何地方。
环境变量
环境变量是分配给特定名称的值,然后可以在脚本和命令中调用。 它们以美元符号开头。 最常见的一种是引用主目录的 $HOME。
顾名思义,环境变量是环境的一部分。 使用以下语法设置变量:
$ http_proxy="https://your.proxy"
要使其成为环境变量,请使用以下命令将其导出:
$ export http_proxy
要查看当前设置的所有环境变量,请使用 env 命令:
$ env
该命令输出会话中可用的所有变量。 要演示如何在命令中使用它们,请尝试运行以下 echo 命令:
$ echo $PWD
/home/fedora
$ echo $USER
fedora
这里发生的是变量扩展——存储在变量中的值在您的命令中使用。
另一个有用的变量是 $PATH,它定义了 shell 用来查找二进制文件的目录。
$PATH 变量
有许多对操作系统很重要的目录或文件夹(它们在图形环境中的调用方式)。 一些目录设置为保存可以直接在 shell 中使用的二进制文件。 这些目录是在 $PATH 变量中定义的。
$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/share/Modules/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/usr/libexec/sdcc:/usr/libexec/sdcc:/usr/bin:/bin:/sbin:/usr/sbin:/opt/FortiClient
当您希望在 shell 中访问自己的二进制文件(或脚本)时,这将为您提供帮助。