0

首先,这是我正在谈论的脚本: https ://github.com/Greduan/dotfiles/blob/master/scripts/symlinks.sh

检查第20行。它有以下内容

dest = "$HOME/.`basename \"${source%.*}\"`"

由于我是从另一个脚本中获取的,因此我不知道它实际上做了什么。我猜如果源文件被命名vimrc.vim.symlink它会输出它会做什么,对.vimrc.vim吗?

如果不正确,您能解释一下它的作用吗?

你能帮我弄清楚如何制作它,如果文件是vimrc.vim.symlink,我怎样才能制作它以便我可以得到.vimrc

请检查脚本,以便您了解我在说什么。:)

4

1 回答 1

1

首先,你的分析是正确的。${source%.*}从 中删除.*后缀source。其余部分$HOME/.$(basename \"...\")采用 的基本名称source,从中删除所有路径,只留下文件名并放在$(HOME)/..

如果您想删除(包括)第一个点之后的所有内容,可以使用${source%%.*}(with%%代替%)。这个答案给你例子。

于 2013-03-27T17:20:13.547 回答