错误q:在Vim上找不到命令

时间:2013-06-12 09:59:39

标签: linux vim command

我创建了一个bash脚本:

#!/bin/bash 
su root -c vim $1 -c ':%s/^M//g' -c 'wq'

我的脚本必须删除我文件上的所有^ M(在Windows上回车),然后保存。

当我执行我的脚本时,它返回:

/sequenceFiles/Sequence1.seq: wq: command not found

有人知道为什么吗? 谢谢你的帮助。

3 个答案:

答案 0 :(得分:3)

-c看到su,而不是vim,并且shell会抱怨未知命令。

您需要将命令作为一个参数传递给su

su root -c "vim $1 -c ':%s/^M//g' -c 'wq'"

答案 1 :(得分:1)

man su说:

`-c COMMAND'
`--command=COMMAND'
     Pass COMMAND, a single command line to run, to the shell with a
     `-c' option instead of starting an interactive shell.

尝试

su root -c "vim $1 -c ':%s/^M//g' -c 'wq'"

答案 2 :(得分:0)

虽然您可以使用vim进行操作,但请考虑更简单:

perl -pi -e 's/\r\n/\n/' file