我一直在通过阅读好的教程和阅读脚本来学习 shell 脚本。
我正在阅读该脚本(https://github.com/Ahtenus/minecraft-init/blob/master/minecraft),这些第一行打动了我:
if [ -L $0 ]
then
source `readlink -e $0 | sed "s:[^/]*$:config:"`
else
source `echo $0 | sed "s:[^/]*$:config:"`
fi
因此,这些行在同一个 shell 中启动名为“config”的脚本(所有配置值都存储在其中)。但是为什么,不是直接启动文件(使用“源配置”之类的东西,而是该脚本的作者读取原始脚本的名称(无论它是否是链接)并将结果发送到 sed 以替换此名称“配置”?
谢谢你的解释。