一. 缘起:使用php composer时想到 composer.phar包,想找到并调试某个信息;
二. 阅读相关文章:
linux下安装composer
发现如下命令:
//你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径):
curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
好奇 管道符 后面的第一个双横线是干什么用的,试了下去掉 和不去掉的区别方法如下:
1.curl -O https://getcomposer.org/installer 到本地
2. 运行
php installer
输出:
All settings correct for using Composer
Downloading...
3.运行
php installer --
输出 :
All settings correct for using Composer
Downloading...
看来并无二致;
三.网上搜索 双横线 ;结果大多解释cli下 双横线(单词) 和 单横线(单字符)的区别 。无他解
四.再在本地测试
1.运行 curl -sS https://getcomposer.org/installer|php
输出:
All settings correct for using Composer
Downloading...
2.运行 curl -sS https://getcomposer.org/installer|php --
输出 :
All settings correct for using Composer
Downloading...
3.运行 curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
输出:
All settings correct for using Composer
Downloading...
4.运行 curl -sS https://getcomposer.org/installer | php --install-dir=bin
输出:
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -S <addr>:<port> [-t docroot] [router]
php [options] -- [args...]
php [options] -a
五. 主要分析步骤四的第四步:
1.php cli 不认识 --install-dir ;其本来就是composer的接收参数,所以php支持的列在下方,相当于 php --help
2.再看 php [options] -- [args...] 嗯,找你好久
六. cli模式下 双斜线的作用,个人总结
1.使用场景:使用管道符将前一个命令的输出转输入的情况下
2.由于省略了输入参数, 故想要php支持, 只有支持 php [args...]这种
3.作用:应该是php 提供给使用者的某些场景下的规避参数使用检查的方式