我制作了一个简单的脚本:
Hitos.allow({
insert: function(userId, doc){
//you are allowed to insert Hitos if userid exist
return !!userId;
}
});
当我像这样以root身份运行它时:
#!/bin/bash
php /var/www/mysite/script1.php
php /var/www/mysite/script2.php
我收到以下错误:
bash update.sh
有什么问题?我在我的php文件和所有文件夹上尝试使用权限777来访问它。当我在命令行中直接使用php /var/www/mysite/script1.php时,它可以正常工作。
答案 0 :(得分:5)
当批处理文件通过某些符合Windows的编辑器或其他意外时,可能会发生回车符附加到行尾(就在换行之前)
所以所有的行例如这一行:
php /var/www/mysite/script1.php
包含一个不可见的\r
字符,它被解释为参数py php
=&gt;的一部分。找不到档案/var/www/mysite/script1.php<invisible char>
。
执行以下操作:
dos2unix update.sh > newbatchfile.sh
或
tr -d "\015" < update.sh > newbatchfile.sh
(比较文件大小,如果newbatchfile较小,问题是CR字符并且是固定的)