相关疑难解决方法(0)

别名和函数

来自 bash 手册

有关别名的定义和使用的规则有些令人困惑。在执行该行上的任何命令之前,Bash 总是至少读取一行完整的输入。别名在读取命令时展开,而不是在执行时展开。因此,与另一个命令出现在同一行上的别名定义在读取下一行输入之前不会生效。该行别名定义后面的命令不受新别名的影响。执行函数时,此行为也是一个问题。 别名在读取函数定义时展开,而不是在执行函数时展开 函数中定义的执行,因为函数定义本身就是一个复合命令。作为结果, 函数中定义的别名在执行该函数之前不可用。为安全起见,始终将别名定义放在单独的行上,并且不要在复合命令中使用别名。

“在读取函数定义时扩展别名,而不是在执行函数时扩展别名”和“函数中定义的别名在执行该函数之后才可用”这两个句子似乎相互矛盾。

你能分别解释一下它们的意思吗?

bash alias function

21
推荐指数
1
解决办法
3万
查看次数

标签 统计

alias ×1

bash ×1

function ×1