我寫了一個依賴於當前文件夾結構的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. 將Bash腳本移植到Java
- 2. python文件操作(bash腳本移植)
- 3. 如何將此bash腳本移植到sh?
- 4. 與腳本程序相關的bash腳本移植問題
- 5. 如何將shell腳本移植到Perl?
- 6. 可移植的初始化腳本?
- 7. 如何在Iron Python腳本中加載可移植的.NET庫?
- 8. 什麼腳本不應該從bash移植到python?
- 9. 如何可移植是C++?
- 10. 如何使用bash腳本
- 11. 如何使用bash腳本
- 12. 如何使用bash腳本
- 13. 可移植類庫版本
- 14. 如何使Django服務器可移植?
- 15. 移植的Node.js腳本到Python
- 16. 將shell腳本從Solaris移植到Linux
- 17. 如何使用bash腳本獲取分區的偏移量?
- 18. 如何使AWK使用bash腳本
- 19. 如何將Wireshark Lua解剖器腳本移植到Mac OSX?
- 20. 如何將此折舊的mysql腳本移植到mysqli
- 21. Perl腳本可移植性和未來打樣
- 22. 可移植shell腳本的用途是什麼?
- 23. 從shell腳本可移植地設置環境變量
- 24. 無論處理腳本語言如何編寫可移植的HTML表單?
- 25. 如何移植newlib?
- 26. GLOB_BRACE可移植性?
- 27. EJB可移植性
- 28. fwrite可移植性
- 29. MinGW可移植性
- 30. Linq可移植性
請向我們展示腳本。 – 2013-04-11 14:22:09
請顯示一些代碼。 – 2013-04-11 14:22:39
你能分享一些代碼嗎? – 2013-04-11 14:23:35