在bash中,您可以通过以下命令获取执行脚本的父文件夹名称:
我希望它能够表现出这样的行为:
SCRIPT_PARENT=`readlink -f ${BASH_SOURCE%/*}/..`
有没有办法以一种同时在zsh和bash中都能使用的方式来实现这一点?
假设我有一个文件/some/folder/rootfolder/subfolder/script
,其内容如下:
echo `magic-i-am-looking-for`
我希望它能够表现出这样的行为:
$ 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
这个应该在bash和zsh中都能工作。我的第一个实现了这种行为,但是由于$BASH_SOURCE
在zsh中无法工作。
所以基本上就是:
是否有一种方法来模拟$BASH_SOURCE
在zsh中也能工作,并且在bash中也能工作?