在bash中,我通过这一行获取执行脚本的父文件夹名称
SCRIPT_PARENT=`readlink -f ${BASH_SOURCE%/*}/..`
Run Code Online (Sandbox Code Playgroud)
有没有办法在zsh中以zsh和bash的方式实现这一点?
假设我有一个/some/folder/rootfolder/subfolder/script包含内容的文件:
echo `magic-i-am-looking-for`
Run Code Online (Sandbox Code Playgroud)
我希望它以这种方式表现:
$ cd /some/other/folder
$ . /some/folder/rootfolder/subfolder/script
/some/folder/rootfolder
$ . ../../folder/rootfolder/subfolder/script
/some/folder/rootfolder
$ cd /some/folder/rootfolder
$ . subfolder/script
/some/folder/rootfolder
$ cd subfolder
$ . script
/some/folder/rootfolder
Run Code Online (Sandbox Code Playgroud)
这应该在bash和zsh中工作.我的第一个实现此行为,但由于$BASH_SOURCE在zsh中不起作用.
所以基本上它:
有没有办法$BASH_SOURCE在zsh中模拟,这也适用于bash?