-bash: ./cli: /usr/bin/php^M: bad interpreter: No such file or directory
来源:互联网 发布:linux ftp epsv 编辑:程序博客网 时间:2024/06/05 08:27
今天在看php cli的时候遇到一个问题,就是,我通过flashFXP软件连接Linux服务器以后,创建了一个cli.php的文件在/var/www目录下,然后通过Windows中的编辑器notepad++,敲入如下代码:
#!/usr/bin/php<?phpecho "sdfas";?>
然后在Linux的命令行中,直接执行该文件,
/var/www/cli.php
显示错误信息如下所示:
-bash: ./cli.php: /usr/bin/php^M: bad interpreter: No such file or directory
然后再次用以下方式运行
[root@VM_114_93_centos www]# /usr/bin/php /var/www/cli.php sdfas
运行正常。
然而再次看错误信息:
-bash: ./cli.php: /usr/bin/php^M
发现,程序中的第一行是
#!/usr/bin/php
为何此处会多一个^M
。
注:将 PHP 用于外壳脚本。可以在写一个脚本,并在第一行以 #!/usr/bin/php 开头,在其后加上以 PHP 开始和结尾标记符包含的正常的 PHP 代码,然后为该文件设置正确的运行属性(例如:chmod +x test)。该方法可以使得该文件能够像外壳脚本或 PERL 脚本一样被直接执行。
原来:
在Windows中和Linux中,行位换行符的不一致所造成的。
windos 行尾 \r\n
linux 行尾 \n
^M 就是 \r,回车符号
解决方法如下:
[root@VM_114_93_centos www]# vim /var/www/cli.php然后输入 :set ff 或者 :set fileformat可见其输出为fileformat=dos利用如下命令修改文件格式:set ff=unix 或 :set fileformat=unix然后 :wq 保存退出
然后再执行
/var/www/cli.php
显示如下:
sdfas
1 0
- -bash: ./cli: /usr/bin/php^M: bad interpreter: No such file or directory
- bash: /usr/bin/php^M: bad interpreter: No such file or directory
- -bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory
- bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory
- -bash: /usr/bin/fap: /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- “/bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- /bin/bash^M: bad interpreter: No such file or directory
- 设计模式在游戏开发中的应用之命令模式
- Spring中原型prototype的准确使用
- MySQL日志文件详解
- 利用百度地图实现定位并显示覆盖物
- Jupyter Notebook 快速入门(下)
- -bash: ./cli: /usr/bin/php^M: bad interpreter: No such file or directory
- Spark知识点整理
- 软件需求分析的工作步骤和流程
- Ubuntu Could not open lock file /var/lib/dpkg/lock - open (13:Permission denied)
- PHP简单对称加密、解密方法
- 深度卷积网络与图像超分辨率
- 机器学习之logistic Regression
- iOS开发 xcode8 和 ios10 的那些坑
- 第十一周--项目1 - 二叉树算法验证(2)二叉树构造算法的验证