从 bash 脚本(不是命令行)设置 bash 别名

从 bash 脚本(不是命令行)设置 bash 别名

与 bash shell 不同(用于创建新别名):

alias test="echo test"

如果我使用 bash 脚本执行同样的事情,别名不会运行:

#!/bin/bash
alias test="echo test"

也导出它,同样的问题:

alias test="echo test" ; export test

也许是正确的:实际上“测试”不是变量。那么,如何将任何别名放入 bash 脚本并让它们在我的环境中可用?

答案1

这个问题已经得到解答这里

你好世界.bash

#!/bin/bash
alias helloworld="echo helloworld"

执行脚本如下:

[vagrant@localhost ~]$ . helloworld.bash

结果[vagrant@localhost ~]$ helloworld是:

[vagrant@localhost ~]$ helloworld
helloworld

答案2

alias在非交互式 shell 中不可用。使用bash的选项-i。如果-i存在该选项,则 shell 是交互式的。

#!/bin/bash -i
alias test="echo test"
test

输出:

测试

相关内容