我有文件:myvars
MONO_PREFIX=/opt/mono
export MONO_PATH=$MONO_PREFIX/lib/mono/2.0
Run Code Online (Sandbox Code Playgroud)
我通过调用"使用"它:
source myvars
Run Code Online (Sandbox Code Playgroud)
我想改为/opt/mono相对于myvars文件的位置而不是绝对的.我怎么能这样做?
这应该在Bash中有效:
MONO_PREFIX="${BASH_SOURCE[0]%/*}/subdir"
Run Code Online (Sandbox Code Playgroud)
这应该在ksh中工作:
MONO_PREFIX="${.sh.file%/*}/subdir"
Run Code Online (Sandbox Code Playgroud)
这是为zsh:
MONO_PREFIX="${funcsourcetrace[1]%/*}/subdir"
Run Code Online (Sandbox Code Playgroud)
这些将指向源文件所在目录下的名为"subdir"的目录.