无法运行bash脚本,收到错误

时间:2011-11-19 02:55:28

标签: bash

我正在尝试运行此处找到的脚本:http://blog.sebflipper.co.uk/2010/03/10/mysql-backup-as-separate-sql-files-with-rotation/comment-page-1/

bash /path/to/mysql-backup.sh

我收到以下错误:

/path/to/mysql-backup.sh: line 2:
: command not found
/path/to/mysql-backup.sh: line 4:
: command not found
/path/to/mysql-backup.sh: line 8:
: command not found
/path/to/mysql-backup.sh: line 10:
: command not found
/path/to/mysql-backup.sh: line 40: syntax error near unexpected token `{
'
/path/to/mysql-backup.sh: line 40: `function checkMysqlUp() {

我不正确地调用此命令吗?

好的,这是空格,现在我只是得到了最后2个错误

3 个答案:

答案 0 :(得分:5)

鉴于出现错误消息的方式,我认为您下载了带有CRLF行结尾的脚本,并且shell不喜欢这个。

使用'dos2unix'或'dtou'或(如果以上两者都不可用,tr)删除回车。

tr -d '\015' < /path/to/mysql-backup.sh > /path/to/other-mysql-backup.sh

然后尝试运行:

/path/to/other-mysql-backup.sh

答案 1 :(得分:2)

#! /bin/bash

脚本顶部的这一行是不对的。它应该没有空格。

答案 2 :(得分:1)

它不喜欢那里的空白行。你确定你复制和粘贴的时候没有注入^ M(回车)或其他一些空格字符吗?