linux 命令行中使用无参数 双横线(--)的意义

一. 缘起:使用php composer时想到 composer.phar包,想找到并调试某个信息;php

二. 阅读相关文章:
 linux下安装composerhtml

发现以下命令:linux

//你能够经过 --install-dir 选项指定 Composer 的安装目录(它能够是一个绝对或相对路径):

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin

 好奇 管道符 后面的第一个双横线是干什么用的,试了下去掉 和不去掉的区别方法以下:bash

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... 

看来并没有二致;composer

三.网上搜索 双横线 ;结果大多解释cli下  双横线(单词) 和 单横线(单字符)的区别 。无他解curl

四.再在本地测试测试

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

 五. 主要分析步骤四的第四步:url

1.php cli 不认识 --install-dir ;其原本就是composer的接收参数,因此php支持的列在下方,至关于 php --help调试

2.再看  php [options] -- [args...]   嗯,找你很久code

六. cli模式下 双斜线的做用,我的总结

1.使用场景:使用管道符将前一个命令的输出转输入的状况下

2.因为省略了输入参数, 故想要php支持, 只有支持 php  [args...]这种

3.做用:应该是php 提供给使用者的某些场景下的规避参数使用检查的方式

相关文章
相关标签/搜索