请参阅下面的代码:
a()(alias x=echo\ hi;type x;alias;x);a
Run Code Online (Sandbox Code Playgroud)
我在函数中有一个别名,我不想更改外部环境(这就是为什么我使用()
而不是{}
),即使代码说别名已成功设置,它也不起作用,请检查输出:
x is aliased to `echo hi'
...
alias x='echo hi'
x: command not found
Run Code Online (Sandbox Code Playgroud)
我听说这样做shopt -s expand_aliases
可以解决,但不只是它没有任何效果,以及我不能依靠bash
,因为我有工作dd-wrt
的busybox
的ash
。
有人知道这个问题吗?