使用php -r 命令处理代码中双引号的注意事项 [ 未指定版本 ]
有时候, 有一些简单的验证性代码你没把握但又觉得不值得专门写文件开浏览器跑测试的话可以试试打开命令行/终端使用php -r <code>
命令来验证
但有一点在linux和windows上有点不同, Windows上的验证代码需要用双引号包起来如: php -r "echo 1;"
, 而linux用的则是单引号 php -r 'echo 1;'
, 这一点相信很多人都知道, 但有一点要注意的是如果验证代码中包含双引号时两个操作系统又不一样了.
linux中提倡用单引号来包裹代码,用双引号来包裹字符串如: php -r 'echo "aaa\n";
, 但经我测试使用双引号来包裹代码也没发现问题php -r "echo \"a'aa\n\";"
windows中这个问题就有点复杂,因为windows有两种命令行,一种是cmd一种是powershell, 貌似两种终端的写法还不一样.
- CMD中, 必须用双引号包裹代码,代码中的双引号用反斜杠转义:
php -r "echo \"aaa\";"
, 单引号包裹的代码会报错 - powershell中, 虽然
php -r 'echo "aaa";'
能显示,但PHP会报notice, 如果字符串里加入\n
这样的转义符号则会直接报Fatal error, 正确的写法应该是php -r 'echo \"aaa\";'
. 即:用单引号包裹代码,用反斜杠转义代码中的双引号
测试环境:
- linux: Linux Mint 17.3 Rosa PHP: PHP 5.5.9-1ubuntu4.14
- windows: window10 专业版 PHP:PHP 5.6.10
yiissy001
注册时间:2013-12-04
最后登录:2017-09-25
在线时长:24小时55分
最后登录:2017-09-25
在线时长:24小时55分
- 粉丝7
- 金钱2529
- 威望90
- 积分3669
共 0 条评论