我已将以下功能放入我的~/.zshrc
文件中:
function note() {
vim $HOME/Dropbox/$1.md
}
当我用note "20150209-132501-Recx-new note today.md"
调用它时,它会创建一个新文件,但文件名为“20150209-132501-Recx-new”。我意识到这是一个简单的问题,但如何让它创建全名注释呢?
答案 0 :(得分:0)
shell按此顺序执行参数替换和字拆分。 这意味着你最终执行
vim /home/username/Dropbox/20150209-132501-Recx-new note today.md.md
即。你用三个文件名称调用vim。如果要在替换部分上禁止分词,则必须在函数定义中使用引号:
function note() {
vim "$HOME/Dropbox/$1.md"
}
并用
调用它note "20150209-132501-Recx-new note today"
编辑1:此版本的note
将所有参数与一个空格连接起来:
function note() {
filename=$1
while test $# -gt 1; do shift; filename="$filename $1"; done
vim "$HOME/Dropbox/$filename.md"
}
编辑2:这可能更容易:
function note() {
vim "$HOME/Dropbox/$*.md"
}