在bash中压缩文件失败

时间:2013-12-31 22:26:20

标签: bash

我在名为backup.sh的文件中有这行代码,位于/ backup中(所以路径是/backup/backup.sh)

代码是:

#!/bin/bash
zip -r /backup/Backup-$(date +%Y-%m-%d) /ftb

该文件具有权限777.但是,它出错:

  

-bash:/backup/backup.sh:/ bin / bash ^ M:错误的解释器:没有这样的文件或目录

/ backup和/ ftb都存在。我以root用户身份运行它。

1 个答案:

答案 0 :(得分:3)

在其上运行dos2unix或类似的实用程序以删除回车符(^ M)。

此消息表明您的文件具有dos样式的lineendings:

-bash: /backup/backup.sh: /bin/bash^M: bad interpreter: No such file or directory

dos2unix这样的工具会修复它:

 dos2unix <backup.bash >improved-backup.sh

或者,如果没有安装此类实用程序,您可以使用translate完成相同的操作:

tr -d "\015\032" <backup.bash >improved-backup.sh

至于那些角色是如何到达那里的,@ Madhehisticist有一些好评。