CENTOS 7: Running mysqldump without user/password in shell but errors
本问题已经有最佳答案,请猛点这里访问。
我想在终端的CentOS 7中运行bash脚本来导出数据库转储。 但是,它以错误结束。
backup_test.sh
1 2 3 4 5 6 | #!/bin/bash thisthing=fiveminute dumpfile=db-${thisthing}-`date +%Y%m%d%H%M`.sql mysqldump database_name > $dumpfile.tmp mv $dumpfile.tmp $dumpfile |
我已经设置了我的?/ .my.cnf,可以在不询问用户密码的情况下运行转储:
.my.cnf
1 2 3 4 5 | [mysqldump] user=username password=password skip-extended-insert skip-dump-date |
从终端执行
1 | [site.backup@localhost ~]$ ./backup_test.sh |
这最终会出现以下错误:
1 | -bash: ./backup_test.sh: /bin/bash^M: bad interpreter: No such file or directory |
谁能指导我哪里错了?
编辑#1
权限设置正确,因为backup_test.sh设置为可执行
解
问题是由于基于Windows的行结束, r n,猜测我将脚本从基于Windows的文件复制到Centos文件中,因此出错。
要在
您的shebang行(即
如果您没有
1 | sed -i 's/\s*$//' backup_test.sh |
这将从每行的末尾删除空格(包括