我有一个实用的 shell 脚本,里面充满了好东西,并希望将它们带到 bash 环境中。我source
之前使用该命令类似于其他语言import
或include
在其他语言中使用该命令。
printer.sh
#!/bin/bash
printAwesome () {
echo "Awesome!"
}
printMoo () {
echo "Moo!"
}
source printer.sh
我认为它只是在终端上运行命令。是不是真的?我们还有其他程序要遵循吗?
在Python中,我们有我们activate
和deactivate
.
答案1
如果我正确理解您想要实现的目标,那么加载您的文件source
是不够的。如果您希望用作printer.sh
模块,则需要export
每个函数的名称,该名称应在脚本外部可用。所以printer.sh
应该看起来像这样:
#!/bin/bash
printAwesome () {
echo "Awesome!"
}
printMoo () {
echo "Moo!"
}
export -f printAwesome
export -f printMoo
然后你可以在中写这样的东西myscript.sh
:
#!/bin/bash
source printer.sh
echo "Let's run these functions ..."
printAwesome
printMoo
echo "Hey, that works now!"