获取 shell 脚本变量的绝对路径

获取 shell 脚本变量的绝对路径

我继承了一个 shell 脚本(#!/usr/bin/sh并且不允许我更改 shell;即,例如,我不能使用bash解决方案))。

它引用相对路径中的文件,例如DIR=$PWD/../SOME_DIR.

当我的echo $DIR输出类似于/home/user/scripts/../SOME_DIR.

如何将绝对路径名( no ..)放入变量中(稍后使用echo)? IE/home/user/SOME_DIR

距离我上一次 shell 脚本已经过去几十年了,今天 Google 不再是我的朋友

答案1

realpath返回您使用的任何路径的解析(绝对)路径:

absdir=$(realpath "$DIR")
echo $absdir

印刷/home/user/SOME_DIR

相关内容