想要更快地完成工作,花更少的时间记住命令,甚至向你的同事展示你有多聪明?一件容易的事。设置几十个bash别名。
你的日子会变得轻松一点,压力也会小一点。你甚至可以找点乐子。在这篇文章中,我们将看看你可以设置的各种类型的别名,以及你需要知道什么来管理它们。
为什么使用别名?
使用别名可以帮助您避免键入大量的命令细节,特别是那些难以记住的命令,或者需要以特定的顺序输入一长串选项,然后才会输出您等待看到的输出。
类型的别名
有些别名将是完整的命令。其他命令将包括命令中的所有内容,直到您在使用它们时将提供的文件名、用户名或其他参数。有些别名是简单的缩写——比如用“c”代替“clear”。其他的命令非常复杂,除非您查阅手册页,否则您甚至不会记住它运行的命令中的每个字母代表什么。
别名语法
创建别名的语法很简单。输入单词“alias”,然后输入您想要给出别名的名称,插入an=符号,然后添加您想要运行的命令—通常用单引号或双引号括起来。像“alias c=clear”这样的单字命令不需要引号。
$ alias aliasname='你使用的一些命令' $ alias haha="echo别笑我了"
惟一需要多加注意的是在别名中使用单引号或双引号时。在这种情况下,您必须格外小心,以确保额外的引号不会混淆解析。一个不匹配的报价将使bash你还没说完呢。
$ alias fixme='echo这不是我的意思' ><==从bash继续提示符
如果您希望别名运行的命令需要引号,您可以使用反斜杠“转义”它们。这告诉bash不是将它们解释为分隔符,而是简单地解释为附加字符。下面是一些例子:
$ alias now="echo It\'s now ' date +%T ' " $ now It's now 09:41:20 $ alias warning='echo Type \"bye\" before you log off tonight' $ warning Type "bye" before you log off tonight . $ alias warning='echo Type 's now ' date +%T ' " now It's 09:41:20
与变量的别名
将变量合并到别名中是非常简单的。
$ alias wmi='echo Hello there, $USER' ' $ hi Hello there, $ shs $ alias wmi='echo I am in $PWD' $ wmi I am in /home/shs $ cd /tmp $ wmi I am in /tmp
当然,输入“wmi”并不比输入“pwd”更方便。不过,有时您可能希望设置别名,只是为了给命令分配不同的名称。
有条件的别名
您可以在别名中包含一些逻辑,但是别名通常只包含单个命令,即使该命令是如果命令,如本示例中所示。如果比这更复杂,您可能最好编写一个脚本。
$ alias warn='if ["$USER" != "shs"];然后猫为例;规矩点!我警告过你了。
别名使用参数
当您使用别名时,可以创建别名来处理在命令行上提供给它们的参数字符串。这里有几个例子:
$ alias show_args='f(){echo您按此顺序输入了"$@";设置- f f;};$ alias rev_args='f(){if [$# -ge 3];然后回应“$3 $2 $1”;fi;设置- f f;};Linux是有趣的
注意,在这些示例中,我们设置了两个别名,其中包括一个函数。每个别名中的最后一个“f”是在以“f()”开始的部分中定义别名之后对别名的调用。
保存你的别名
一旦您对别名感到满意,请确保将其保存在.bashrc文件中,以便在您登录时使用它。您可能应该通过编辑.bashrc文件来添加别名,而不是通过将输出重定向到该文件,否则将丢失所需的引号。另一方面,你可以在别名后面添加转义字符,这样就不会发生这样的情况:
$ echo别名wmi=\'echo I在$PWD中\”> > . bashrc
如果你给你的。bashrc文件添加别名,然后想让它们立即激活,你可以使用如下命令“源”你的。bashrc文件:
美元。~ / . bashrc
这个命令将读取.bashrc文件,并激活它的所有别名。它可能会影响其他设置,但只有在您登录后更改过任何设置的情况下。
禁用别名
要禁用别名,可以使用unalias命令(可能尝试一个不同的版本?)但是不要忘记,如果您已经保存了别名,.bashrc文件中的副本将不会受到unalias命令。
美元unalias wmi
别名和贝壳
许多shell支持别名(不只是bash),但是有些shell使用它们自己的启动文件(即,不是.bashrc)。例如,zsh使用.zshenv文件。请确保将别名添加到适当的启动文件中。
无论您是借用、共享还是仅仅创建您自己的别名以供个人使用,您可能会发现通过捕获您所使用的一些更繁琐或棘手的命令,这些别名都有重要的用途。