2009-06-19 45 views

回答

51

当然 - 在你的脚本,您要使用的功能,你可以写如下命令

source function.sh 

这相当于在点包括function.sh内容的文件,在命令是跑。请注意0​​需要位于$PATH中的一个目录中;如果不是,则需要指定绝对路径。

+3

function.sh可以在你的PATH中的任何地方。如果bash处于posix模式,它不会查看当前目录。这一切都在手册页中解释。 – camh 2009-06-20 14:02:06

+0

的确,我把它和其他东西混淆了。 – 2009-06-21 23:05:51

9

是的,您可以将所有功能本地化为一个通用文件(或多个文件)。这正是我用我所有的实用功能所做的。

. $HOME/utility.shinc 

这在当前shell的上下文中执行脚本:我在这的二手通过我的所有程序与我的主目录有一个utility.shinc。这很重要 - 如果您只是运行include脚本,它将运行在一个子shell中,并且任何更改都不会传播到当前shell。

您可以对脚本组执行相同的操作。如果它是“产品”的一部分,我倾向于将所有脚本和任何包含的脚本放在一个shell目录中,以确保所有内容都已本地化。

-2

是的..你可以! 在您的脚本中添加源函数名称。 我更喜欢创建变量eg.VAR = $(funtion_name),如果您在#!/ bin/bash之后添加源函数名,那么您的脚本首先执行导入的函数任务,然后执行您当前的脚本任务,以便更好地创建变量并使用脚本的任何地方。 谢谢..希望你的工作:)

相关问题