我正在目录中运行脚本:
a/b/c/d/script.bash
我需要创建一个环境变量 projroot,这样
script=$(readlink -f $0) # Absolute path to this script.
export projroot=$(dirname $(dirname $script)) #This points to the absolute path
我如何定义projroot
, 以便projroot
指向a/b
而不是a/b/c
?
答案1
您可以使用嵌套dirname
,也可以使用bash 参数扩展和realpath
。
使用真实路径:
script=$(readlink -f "$0")
export projroot=$(realpath -mL "${script}/../../..")
使用 bash 参数扩展:
script=$(readlink -f "$0")
export projroot="${script%/*/*/*}"