【发布时间】:2017-10-31 23:12:58
【问题描述】:
我们是两个正在研究 Bash 工具箱的学生,但我们遇到了一个问题:
我们的本地脚本使用函数,存放在两个本地库中。
我们的脚本使用第一个库中的函数,最后使用第二个库中的函数。
脚本
我们不能将这两个库合二为一。
我们实际上是使用这个命令在远程计算机上运行我们的脚本:
ssh login@remoteIP bash < ~/script.sh
问题是:如何在脚本中设置库位置
【问题讨论】:
我们是两个正在研究 Bash 工具箱的学生,但我们遇到了一个问题:
我们的本地脚本使用函数,存放在两个本地库中。
我们的脚本使用第一个库中的函数,最后使用第二个库中的函数。
脚本
我们不能将这两个库合二为一。
我们实际上是使用这个命令在远程计算机上运行我们的脚本:
ssh login@remoteIP bash < ~/script.sh
问题是:如何在脚本中设置库位置
【问题讨论】:
您需要使用. 命令来包含外部库。是的,该命令被简单地称为. - 一个文字点。在 library1.sh 顶部添加:
. /path/to/library2.sh
在script.sh顶部添加:
. /path/to/library1.sh
我建议使用绝对路径,因为相对路径。如果您使用相对路径,则需要确保它们与您的 $PATH 条目之一相关,否则它们将与执行 script.sh 的当前文件夹相关。
顺便说一句,还有source 命令与点命令完全一样。它们都是 bash 内置函数。
输入 help . 或 help source 以获取帮助。
【讨论】:
使用 bashpp 在脚本中嵌入您的 Library# 代码。
将您的. 调用替换为#include,然后通过bashpp 运行它:
bashpp ~/script.sh | ssh login@remoteIP bash -s
【讨论】: