首先,这是我正在谈论的剧本: https://github.com/Greduan/dotfiles/blob/master/scripts/symlinks.sh
检查第20行。它具有以下内容
dest = "$HOME/.`basename \"${source%.*}\"`"
因为我从另一个脚本中获取了这个,所以我不知道它实际上是做什么的。我猜它的作用是源文件名为vimrc.vim.symlink
它是否输出.vimrc.vim
,对吗?
如果不正确,请您解释一下它的作用?
你可以帮我弄清楚如何制作它,这样如果文件是vimrc.vim.symlink
,我怎么能这样做才能获得.vimrc
?
请检查脚本,以便了解我在说什么。 :)
答案 0 :(得分:1)
首先,您的分析是正确的。 ${source%.*}
从.*
中删除source
后缀。其余的$HOME/.$(basename \"...\")
使用source
的基本名称,该名称会删除其中的所有路径,只留下文件名,并放在$(HOME)/.
之后。
如果您要删除第一个点之后(包括)的所有内容,可以使用${source%%.*}
(%%
代替%
)。 This answer为您提供示例。