我写了一个依赖于当前文件夹结构的bash脚本, 我应该怎么做才能让它在任何其他文件夹中运行(变得可移植)? 让我解释一下:我想让脚本删除脚本运行的当前目录下的所有文件, 或删除父文件夹中的所有文件, 有什么解决方法?如何使bash脚本可移植?
回答
cd "$(dirname "$0")"
添加到您的脚本的顶部有它cd
到脚本安装在目录中。然后你可以使用相对路径,它们将相对于脚本目录而不是用户的pwd
。
如果由于某种原因dirname
不可用,这里是一个等效的语句,使用basename
来代替。
cd "${0%%/$(basename "$0")}"
感谢john,但是我应该如何在我的脚本中编写rm/foo/bar/*以便它可以在任何地方工作? – 2013-04-11 19:39:55
你可以简单写'rm *' – 2013-04-11 19:44:37
什么系统有basename但不是dirname? – 2013-04-11 21:45:49
请勿在脚本中使用绝对路径。
的文件不要讨厌。答案是正确的,适合缺乏问题的附加信息,为什么downvote? – 2013-04-12 14:22:59
我们需要更多的信息,给你一个正确的答案...但是一些提示,如果你需要使它便携的存储,你需要在网络共享上的任何文件,只是做一个新的文件夹断/
如/temporaryScriptFolder/
并将网络共享挂载到该空文件夹,以便您轻松访问所需的任何资源。
- 1. python文件操作(bash脚本移植)
- 2. 将Bash脚本移植到Java
- 3. 与脚本程序相关的bash脚本移植问题
- 4. 如何将shell脚本移植到Perl?
- 5. 可移植的初始化脚本?
- 6. 如何在Iron Python脚本中加载可移植的.NET库?
- 7. 什么脚本不应该从bash移植到python?
- 8. 如何可移植是C++?
- 9. 如何使用bash脚本
- 10. 如何使Django服务器可移植?
- 11. 移植的Node.js脚本到Python
- 12. 如何使AWK使用bash脚本
- 13. 如何将Wireshark Lua解剖器脚本移植到Mac OSX?
- 14. Perl脚本可移植性和未来打样
- 15. 从shell脚本可移植地设置环境变量
- 16. 无论处理脚本语言如何编写可移植的HTML表单?
- 17. 如何移植newlib?
- 18. fwrite可移植性
- 19. GLOB_BRACE可移植性?
- 20. Linq可移植性
- 21. 云可移植性
- 22. 使用bash脚本
- 23. 使用bash脚本
- 24. 使用bash脚本
- 25. 使用bash脚本
- 26. 如何杀死bash脚本
- 27. 如何使一个bash脚本
- 28. 如何在bash脚本中使用getopts?
- 29. 如何在bash脚本中使用yad?
- 30. 如何使用kill -l在bash脚本
请向我们展示脚本。 – 2013-04-11 14:22:09
请显示一些代码。 – 2013-04-11 14:22:39
你能分享一些代码吗? – 2013-04-11 14:23:35