如何在shell脚本中获取目录名称

Bha*_*vin 3 bash scripts environment-variables

我有一个脚本将一些环境变量设置为路径:

export VAR1=/home/xyz/DIR_IN_WHICH_THIS_FILE_EXISTS

export VAR2=$VAR1/abc/qwe

...
Run Code Online (Sandbox Code Playgroud)

我是否可以使用某些东西来获取,DIR_IN_WHICH_THIS_FILE_EXISTS以便如果我从计算机中的任何位置(任何路径)运行此脚本,它将设置相同的值以VAR1取决于脚本存在的目录?

请帮忙

Rad*_*anu 5

我认为您对运行脚本的路径感兴趣。如果是这样,您应该使用dirname

export VAR1=$(dirname "${BASH_SOURCE[0]}")
Run Code Online (Sandbox Code Playgroud)

其中${BASH_SOURCE[0]}指的是当前运行脚本的名称。