php cli模式下,可以用$argc, $argv来读取所有的参数以及个数,如:
[email protected]:~/php/php1/1$ cat go1 #!/usr/bin/php <?php echo ‘参数个数:‘ . $argc . PHP_EOL; echo ‘打印参数:‘ . PHP_EOL; print_r( $argv ) . PHP_EOL;
给文件加上可执行权限:
[email protected]:~/php/php1/1$ ls -l total 8 -rwxrwxr-x 1 ghostwu ghostwu 337 4月 22 09:15 go -rw-rw-r-- 1 ghostwu ghostwu 126 4月 22 09:20 go1 [email protected]:~/php/php1/1$ chmod a+x go1 [email protected]:~/php/php1/1$ ls -l total 8 -rwxrwxr-x 1 ghostwu ghostwu 337 4月 22 09:15 go -rwxrwxr-x 1 ghostwu ghostwu 126 4月 22 09:20 go1 [email protected]:~/php/php1/1$ ./go1 参数个数:1 打印参数: Array ( [0] => ./go1 ) [email protected]:~/php/php1/1$ ./go1 a b c 参数个数:4 打印参数: Array ( [0] => ./go1 [1] => a [2] => b [3] => c )
如果想把go1这个文件,在操作系统任意目录下,都能执行,我们需要添加环境变量,我在家目录下面建立一个目录mybin,用来放自己开发的命令
[email protected]:~/mybin$ tail -2 ~/.bashrc fi export PATH=~/mybin:$PATH [email protected]:~/mybin$ pwd /home/ghostwu/mybin [email protected]:~/mybin$
[email protected]:~/mybin$ echo $PATH /home/ghostwu/mybin:/home/ghostwu/bin:/home/ghostwu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin [email protected]:~/mybin$
再次打印$PATH,已经加入进来了,这个时候把开发好的命令拷贝到 ~/mybin目录下, 以后在系统的任意目录都能执行go1
[email protected]:~/mybin$ cp ~/php/php1/1/go1 . [email protected]:~/mybin$ ls -l total 8 -rwxrwxr-x 1 ghostwu ghostwu 126 4月 22 09:44 go1
[email protected]:~/mybin$ go1 参数个数:1 打印参数: Array ( [0] => /home/ghostwu/mybin/go1 ) [email protected]:~/mybin$ cd / [email protected]:/$ go1 参数个数:1 打印参数: Array ( [0] => /home/ghostwu/mybin/go1 ) [email protected]:/$ cd /tmp [email protected]:/tmp$ go1 参数个数:1 打印参数: Array ( [0] => /home/ghostwu/mybin/go1 )
在Linux命令行下,很多的命令,或者说软件都有一个-v参数来显示版本号,这个功能怎么做?
$res = ‘‘; if( $argc >= 2 ) $argv[1] == ‘-v‘ && $res = ‘go version is 1.0‘; echo $res . PHP_EOL;
是不是很简单,3行代码就搞定了
[email protected]:~/mybin$ go -v go version is 1.0 [email protected]:~/mybin$ ls -l total 8 -rwxrwxr-x 1 ghostwu ghostwu 336 4月 22 09:49 go -rwxrwxr-x 1 ghostwu ghostwu 126 4月 22 09:44 go1 [email protected]:~/mybin$
原文地址:https://www.cnblogs.com/ghostwu/p/8905856.html
时间: 2024-10-12 08:26:27