我是Linux的新手,从基础开始。

-
我以为别名用于制作命令的快捷方式。
但是我使用变量(在U​​buntu中)尝试了以下操作,但仍然可以使用!

$ foo="mkdir Directory"
$ $foo #this will create a directory named Directory

使用别名:
$ alias bar="mkdir Directory"
$ bar #creates a Directory named directory

那是应该如何工作的?
非常感谢您的回答:)

最佳答案

变量比别名具有更多的用途。变量可以在命令行的任何位置使用(例如,作为程序参数的一部分),而别名只能用作要运行的程序的名称,即用作命令行中的第一个单词。例如:

foo="mkdir Directory"
echo $foo  # Prints "mkdir Directory"

alias bar="mkdir Directory"
echo bar  # Nothing gets expanded -- just "bar" is printed

变量也可以导出到子进程的环境中。如果使用 export builtin导出变量,则程序可以使用 getenv(3) 函数获取变量的值。

有关可执行的所有不同类型的扩展及其执行方式的完整说明,请参见Bash manual。另请参见aliases一节。

关于linux - Bash命令: What's the difference between a variable and an alias?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7342735/

10-14 17:21