小编Era*_*din的帖子

通过包含脚本本身的目录中的符号链接运行 shell 脚本

我的愿望不是更改目录然后执行。我使用了一个 jar 文件,需要执行它。所以我做了一个非常基本的shell脚本来做到这一点。

#!/bin/sh
java -jar TreeForm.jar
Run Code Online (Sandbox Code Playgroud)

然后,我将其另存为TreeForm,而不是TreeForm.sh。接下来,我创建了一个符号链接,如下所示:

ln -s /opt/TreeForm/TreeForm /usr/bin/
chmod +x /opt/TreeForm/TreeForm
Run Code Online (Sandbox Code Playgroud)

它已成功创建。但是,当我运行时,我从 JAVA 中获取以下错误。

错误:无法访问 jarfile TreeForm.jar

因此,shell 脚本似乎不运行自己的目录或不查看该目录,而是在当前目录中运行。我真的不想修改我的脚本文件,给出TreeForm.jar. 所以我想问一下,有没有办法在不改变当前路径或向PATH变量添加路径的情况下找到相对于脚本文件的文件?或者是否有任何具有脚本路径的变量,而不是当前的?

shell shell-script symlink cwd

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

cwd ×1

shell ×1

shell-script ×1

symlink ×1