我在我的ubuntu 16.04上安装了php 5.6和php7.1
我知道用apache作为我的网络服务器,我能做到
a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7
Run Code Online (Sandbox Code Playgroud)
当我在apache模块中禁用php7.1并启用php5.6时,apache会识别更改并按预期使用php5.6解释器.
但是当我从命令行运行内部php web服务器时: -
php -S localhost:8888
Run Code Online (Sandbox Code Playgroud)
php使用php7处理请求,如何在命令行中切换php6.6和php7.1?
我有一个RakefileRake任务,我通常会从命令行调用:
rake blog:post Title
Run Code Online (Sandbox Code Playgroud)
我想编写一个多次调用Rake任务的Ruby脚本,但我看到的唯一解决方案是使用``(反引号)或system.
这样做的正确方法是什么?
我在Linux文件系统上有一套Berkeley DB文件,我想查看一下.
有什么有用的工具可以快速浏览内容?我可以编写使用BDB模块进行检查的Perl脚本,但我正在寻找一些CLI实用程序,以便能够在不必开始编写脚本的情况下查看内部.
这更多是关于程序的调用,而不是任何语言或解析器(尽管我确信选择的解析器库可以依赖于此).看,我使用了很多Linux命令行实用程序.并且有一些明显的模式; ' - '在单个字母前面用于短选项,不带参数的多个选项可以组合,' - '在长版本的选项之前,依此类推.
但是,在某些情况下,大写用于反转选项.因此,' - d'可能意味着作为守护进程运行,但' - D'将不会作为守护进程运行.(如果你不想要它,为什么不省略选项?这一点从来都不清楚,但它实际上相当普遍,所以我认为必定有一些原因.)但在某些程序中,资本是完全不相关的选择; 如果'-d'作为守护进程运行,' - D'可能是启用调试模式.这背后是否有某种首要原则,哪种选择最好?或者我们只是处理"无论什么工作"?
除了(或代替)带参数的选项之外,还有一些命令只需要单独的参数.cp就是一个很好的例子; 除了一对很少使用的切换之外,它接收的最后一个参数被假定为目的地,并且选项列表和目的地之间的任何参数都被认为是源.是否有经验法则依赖于这样的顺序"好",而不是使用带参数的显式选项标志?
我试过运行以下CLI命令:
phpunit -d xdebug.profiler_enable=on XYZTestCase.php
Run Code Online (Sandbox Code Playgroud)
但它只是正常运行.谁能指出我正确的方向?谢谢!
这是XDebug设置:
xdebug
xdebug support => enabled
Version => 2.1.2
Supported protocols => Revision
DBGp - Common DeBuGger Protocol => $Revision: 1.145 $
Directive => Local Value => Master Value
xdebug.auto_trace => Off => Off
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no …Run Code Online (Sandbox Code Playgroud) grep从命令行使用时不能输入"原始"字符串,因为某些字符需要转义才能被视为文字.例如:
$ grep '(hello|bye)' # WON'T MATCH 'hello'
$ grep '\(hello\|bye\)' # GOOD, BUT QUICKLY BECOMES UNREADABLE
Run Code Online (Sandbox Code Playgroud)
我printf用来自动转义字符串:
$ printf '%q' '(some|group)\n'
\(some\|group\)\\n
Run Code Online (Sandbox Code Playgroud)
这会生成字符串的bash-escaped版本,并且使用反引号,可以很容易地将其传递给grep调用:
$ grep `printf '%q' '(a|b|c)'`
Run Code Online (Sandbox Code Playgroud)
但是,它显然不适用于此:输出中的某些字符不会被转义,而有些则不必要.例如:
$ printf '%q' '(^#)'
\(\^#\)
Run Code Online (Sandbox Code Playgroud)
该^传递给角色时,不应该逃脱grep.
是否有一个cli工具,它接受一个原始字符串并返回一个bash-escaped版本的字符串,可以直接用作grep的模式?如果没有,我怎么能用纯粹的bash来实现呢?
我想知道CLR和CLI之间究竟有什么区别?从我到目前为止所阅读的内容来看,它似乎表明CLI是CLR的一个子集.但是CLR中的所有内容都不是强制性的吗?CLR究竟可以省略什么来创建CLI?
如果我想解析这个怎么办:
java MyProgram -r opt1 -S opt2 arg1 arg2 arg3 arg4 --test -A opt3
Run Code Online (Sandbox Code Playgroud)
我想在我的程序中得到的结果是:
regular Java args[] of size=4
org.apache.commons.cli.Options[] of size=3
org.apache.commons.cli.Options[] #2 of size=1
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用Apache Commons CLI,但文档对我上面提到的案例有点不清楚.具体来说,文档没有告诉您如何处理我在下面指定的第三种类型的选项:
Run Code Online (Sandbox Code Playgroud)1. options with a "-" char 2. options with a "--" char 3. options without any marker, or "bare args"
我希望Apache Commons CLI可以工作,但是如果那些args没有选项前缀,STILL能够将常规args传递给程序.也许它确实如此,但是当我通读它时,文档并没有说出来......
我可以从 Docker Desktop 中为不同的 docker 容器启动命令行界面 (CLI):
如果我在控制台窗口内按箭头键,则会显示奇怪的字符代码,例如,如果我按向上键,则不会显示最后一个命令,而是显示字符“^[[A”:
=> 如何永久调整 shell 命令?
我尝试SHELL=/bin/bash在系统环境变量中设置来bash代替使用,sh但这没有帮助。
有关的:
我是Go的新人.我非常喜欢这种语言,但我很快意识到由于程序大小的增加,我需要开始分割文件.
go run main.go (main.go是我的main()函数的文件)
没有工作,我打了一段时间的障碍,因为我不知道如何使我的程序工作.
一些快速搜索引导我得到答案
go run main.go other.go ..
通过键入我所package main包含的所有文件,我可以运行编程.然而,每次这样做都非常麻烦和令人沮丧.
我写了以下自我回答的问题,以防止像我这样可能再次遇到这个障碍的人.