MOH*_*MED 2 linux bash shell alias
我添加了一个别名:
$ alias anyalias="echo kallel"
Run Code Online (Sandbox Code Playgroud)
如果我执行:
$ anyalias
kallel
Run Code Online (Sandbox Code Playgroud)
它执行echo命令没有任何问题.
现在,如果我以这种方式定义变量:
$ var="anyalias"
Run Code Online (Sandbox Code Playgroud)
然后以这种方式执行:
$ $var
-ash: anyalias: not found
Run Code Online (Sandbox Code Playgroud)
然后我收到了一个shell错误.
如何$var运行anyalias别名中定义的命令?
我不打算改变打电话的方式$var.但我正在寻找一种方法来改变别名的定义或导出它.
而不是别名考虑使用函数:
anyfunc() { echo "kallel"; }
v=anyfunc
$v
kallel
Run Code Online (Sandbox Code Playgroud)
更安全的是将函数调用存储在数组中(如果需要,还将存储参数):
var=(anyfunc)
"${var[@]}"
kallel
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |