我编写了一个依赖于当前文件夹结构的bash脚本, 我该怎么做才能让它在任何其他文件夹中运行(变得可移植)? 让我解释一下:我希望脚本删除脚本运行的当前目录中的所有文件, 或者删除父文件夹中的所有文件, 解决方案是什么?
答案 0 :(得分:0)
cd "$(dirname "$0")"
将其添加到脚本的顶部,使其cd
到安装脚本的目录中。然后你可以使用相对路径,它们将相对于脚本目录而不是用户的pwd
。
如果由于某种原因dirname
不可用,则此处是使用basename
的等效声明。
cd "${0%%/$(basename "$0")}"
答案 1 :(得分:0)
我们需要更多信息来为您提供正确的答案...但是,如果您需要使其可移植,请提供一些提示,以便在网络共享中存储您需要的任何文件,并简单地从{{1}创建一个新文件夹例如/
并将网络共享挂载到该空文件夹,以便您轻松访问所需的任何资源。
答案 2 :(得分:-1)
不要在脚本中使用绝对路径。