如何使bash脚本可移植?

时间:2013-04-11 14:19:48

标签: bash portability

我编写了一个依赖于当前文件夹结构的bash脚本, 我该怎么做才能让它在任何其他文件夹中运行(变得可移植)? 让我解释一下:我希望脚本删除脚本运行的当前目录中的所有文件, 或者删除父文件夹中的所有文件, 解决方案是什么?

3 个答案:

答案 0 :(得分:0)

cd "$(dirname "$0")"

将其添加到脚本的顶部,使其cd到安装脚本的目录中。然后你可以使用相对路径,它们将相对于脚本目录而不是用户的pwd

如果由于某种原因dirname不可用,则此处是使用basename的等效声明。

cd "${0%%/$(basename "$0")}"

答案 1 :(得分:0)

我们需要更多信息来为您提供正确的答案...但是,如果您需要使其可移植,请提供一些提示,以便在网络共享中存储您需要的任何文件,并简单地从{{1}创建一个新文件夹例如/并将网络共享挂载到该空文件夹,以便您轻松访问所需的任何资源。

答案 2 :(得分:-1)

不要在脚本中使用绝对路径。