让脚本找到自己的路径

让脚本找到自己的路径

我想让 bash 脚本发现它自己的路径。

背景是我有一个名为 的脚本process_scanned_text.sh,它本身使用了该脚本curves。我把它放在curves同一个目录下process_scanned_text.sh。我process_scanned_text.sh在我的文件夹中创建了一个符号链接~/bin。现在我不知道如何正确调用curves脚本。由于它不在 中$PATH,我需要指定它的路径。使用点作为路径是不正确的,因为它指向我调用的目录process_scanned_text.sh。使用dirname $0也不起作用,因为它指向我的bin文件夹(符号链接所在的位置)。

答案1

在安装了 GNU coreutils 的 Linux 系统上,或在 FreeBSD >= 8.3 上:

在 shell 脚本中,调用readlink -f "$0"以查找脚本的规范路径名,这将解析任何符号链接。调用dirname它来获取其目录名称。

相关内容