我有一个命令可以按如下方式执行:
$ cmd<<EOF|gvim -
在我的.alias文件中尝试为命令设置别名:
alias cmd='cmd<<EOF|gvim -'
当我获取别名文件时,我得到:
$ . ./.alias
bash: ./.alias: line 14: unexpected EOF while looking for matching `''
bash: ./.alias: line 15: syntax error: unexpected end of file
如何定义正确的别名?感谢。
答案 0 :(得分:0)
如果您的命令行以cmd<<EOF|gvim -
开头,则表示您需要使用EOF
终止此文档(我假设您手动输入)。相反,只需让cmd
从标准输入读取,您可以使用 Control - d 终止。
即代替
$ cmd<<EOF | gvim -
> your text
> goes here
> EOF
你使用
$ cmd | gvim -
your text
goes here
^d
其中^d
只是 Control - d 。
然后,您可以定义一个函数
mycmd () {
cmd | gvim -
}
作为一般规则,请避免定义除了向单个命令添加选项之外的别名,例如alias ls='ls --color'
。