我该如何检测运行shell脚本的目录名称(或更好的整个路径)?如何检测我运行我的shell脚本的当前目录?
回答
什么shell?什么操作系统?
对于初学者尝试
man pwd
$PWD
似乎工作,谢谢 – goe 2009-11-30 02:06:29
如果你只想要目录的名称,而不是完整的路径,请阅读man basename。 – 2009-11-30 02:46:04
这不是微不足道,因为它看起来像。退房this question和this
问题是关于确定脚本执行目录,但你的答案是确定脚本文件的名称/目录。 – 2017-03-12 19:44:46
@Mat确实!当时一定误会了。删除。 – 2017-03-12 21:22:22
替代方法
pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
./*) pwd;;
*) echo $path;;
esac
这一点,我相信,这是最简便的方式:
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
- 1. Shell脚本当前目录?
- 2. 检测我如何运行Python脚本
- 3. 如何指示脚本的当前目录不是我?
- 4. 从当前目录执行Shell脚本而不使用'“./filename”
- 5. 在当前目录中执行shell脚本
- 6. 如何检测Node.js脚本是否通过shell管道运行?
- 7. 我可以在ViM中运行当前脚本或脚本吗?
- 8. 如何从cron运行的Perl脚本中运行shell脚本?
- 9. 如何在EC2中运行我的shell脚本?
- 10. Shell脚本 - 测试目录是存在于当前目录还是父目录/祖先目录中
- 11. 运行在同一个目录中的脚本作为当前脚本
- 12. windows shell - 如何检测脚本文件放置的当前位置?
- 13. 我如何检测当前链接的页面通过PHP或Java脚本
- 14. 检测在Cygwin中运行的shell脚本
- 15. 运行CakePHP的Shell脚本
- 16. 当我运行我的脚本没有任何反应
- 17. 在每个子目录中运行命令的Linux Shell脚本
- 18. Mac OS X中的shell脚本从主目录运行?
- 19. 如何检测我当前正在运行的应用程序池? (IIS6)
- 20. 运行shell脚本
- 21. 运行shell脚本++
- 22. 运行shell脚本
- 23. 如何从远程机器运行shell脚本?我
- 24. 检测一个shell脚本
- 25. 我有一个运行时警告,当我在我的脚本
- 26. 如何从shell脚本中移动目录中的目录?
- 27. 如何分发我的Python/shell脚本?
- 28. 如果我杀死运行java的脚本运行脚本?
- 29. 从外部目录运行Shell脚本:没有这样的文件或目录
对于bash,请参阅:从获取一个bash脚本的源目录内(https://stackoverflow.com/q/59895/55075)。 – kenorb 2017-07-19 18:39:23