小编don*_*nes的帖子

如何在zsh中获取执行脚本的父文件夹?

在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?

bash zsh

6
推荐指数
2
解决办法
4867
查看次数

标签 统计

bash ×1

zsh ×1