我有一个命令,我可以按如下方式执行:
$ 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
如何定义正确的别名?谢谢。
如果您的命令行以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'
。