shell - 如何将别名翻译成真实文件?
问题描述
大多数情况下,别名效果很好,但有时,该命令由其他程序执行,它们在 PATH 中找到它,在这种情况下,别名效果不如真实文件。
例如
我有以下别名:
alias ghc='stack exec -- ghc'
我想把它翻译成一个可执行文件,这样依赖它的程序就能正确找到它。该文件将像别名一样工作,包括它如何处理它的参数。
那么,是否有任何工具或脚本可以帮助做到这一点?
解决方案
这是我的解决方案,我创建了一个名为ghc
如下的文件:
#!/bin/sh
stack exec -- ghc "$@"
此处解释了双引号的原因$@
:Propagate all arguments in a bash shell script