【发布时间】:2014-10-12 17:06:09
【问题描述】:
我有一个 java 应用程序。我从应用程序中调用了一些批处理文件。 批处理文件使用 readlink -f 获取自身的完整路径。 但我在 Linux 中收到“命令未找到错误”。(Linux 2.4.18-3custom #2 Wed Aug 18 03:46:33 EDT 2004)。 我在批处理文件中尝试了 pwd 命令。但是它给了我的应用程序当前目录。但是我需要从它本身中找到批处理目录。所以,pwd 不能解决我的问题。 我实际上是在 shell 脚本上编写我的批处理文件。 而且我无法安装 coreutils。 不包括 pwd 的 readlink -f 有什么替代方法吗?
【问题讨论】:
-
你调用批处理文件还是shell脚本?如果是shell脚本,你用的是
Bash吗? -
readlink不是 Linux 内核的一部分,因此向我们提供您的内核版本并不能帮助我们知道您拥有哪个版本的 readlink(如果有)。相比之下,向我们提供您的发行版名称和版本可能会有所帮助。 -
也就是说——如果您的问题是如何在没有
readlink的情况下找到脚本的位置,请参阅 BashFAQ #28:mywiki.wooledge.org/BashFAQ/028;在讨论了为什么你不应该一开始就尝试这样做之后,它然后讨论了可用的技术(及其局限性)。具体参见使用BASH_SOURCE的示例。 -
...由于
readlink -f在非 Linux 平台上并未广泛使用,因此该问题的大多数迭代都有涵盖不需要它的技术的答案。
标签: linux batch-file readlink