来自脚本的全局bash别名

时间:2010-09-16 19:49:52

标签: bash alias

我想通过脚本创建别名,并在bash中使用它。

即:

#!/bin/bash
alias mycmd="ls -la"

击:

login@host ~$: ./script
login@host ~$: mycmd
*ls output*

当然,别名应该只用于一个会话(而不是.bashrc等)。 可能吗?不幸的是,我还没有找到解决方案。

3 个答案:

答案 0 :(得分:5)

login@host ~$: . ./script
login@host ~$: mycmd

我相信会在你的shell中执行它。

答案 1 :(得分:3)

正确的方法是 source 脚本而不是运行它。

source myscript.sh
mycmd

答案 2 :(得分:1)

创建一个脚本来完成这项工作,并将其放在PATH的bin目录中(可能是$ HOME / bin):

$ echo "exec ls -la \"\$@\"" > $HOME/bin/mycmd
$ chmod 555 $HOME/bin/mycmd
$

如果您实际将PATH设置为包含$ HOME / bin。

,这是完全可靠的

(当然,我们可以讨论输入5个字母而不是6个字符的优点,但我认为名称是说明性的而不是真实的。)