来自变量的 Bash 别名

标签 bash function alias

有没有一种方法可以创建一个名称来自变量的 bash 别名(或函数)?

例如,是否可以按照以下方式做一些事情:

create_alias_with_name() {
  alias $1="echo a custom alias"
}

或者类似的东西:

create_func_with_name() {
  $1() {
    "echo inside a function with a variable name"
  }
}

换句话说,我更希望有某种可以为我注册函数的函数“工厂”。这是可能的还是超出了 Bash 的能力?

最佳答案

你试过吗?你的第一个例子工作正常。

您可以通过添加一个 eval 来完成第二个工作:

create_func_with_name() {
  eval "$1() {
    echo inside a function with a variable name
  }"
}

关于来自变量的 Bash 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389761/

相关文章:

r - 在子函数内部打印父函数的名称

go - Go 中 channel 的类型别名工作得很奇怪

bash printf : how to understand zero dot s ("%0.s") syntax

linux - 在 BASH 脚本中组合选项和参数

java - 在java中调用pl/sql函数?

python - 如何在 python 包中查找 python 函数或变量的所有用途

DOS别名为Runas

linux - .bashrc 保存以前的进程 ID 并且不会在别名命令中更新

linux - ACL linux 的意外行为

bash - Bash 中的多维关联数组