标签: command-line-interface

C中的CLI参数

我们正在开发一个程序,它应该接受同一个参数的多个输入.例如.

program1 -A arg1 -A arg2 -A arg3 -B arg4 -B arg5 -B arg6

更复杂的是,-A和-B参数具有1:1的关系.所以arg1映射到arg4,所以一个.

那么上面的例子是最好的方法可以提供多个相同的参数列表吗?或者这是可接受的方式?

c command-line-interface command-line-arguments

1
推荐指数
1
解决办法
223
查看次数

auto_prepend_file无法在cli模式下运行

我无法在我的mac上运行auto_prepend_file:

# cat /opt/local/lib/php/test.php
<?php
function test() { return 'foo'; }

# php --ini | grep php.ini
Configuration File (php.ini) Path: /opt/local/etc/php5
Loaded Configuration File:         /opt/local/etc/php5/php.ini

# cat /opt/local/etc/php5/php.ini | grep auto_prepend_file
auto_prepend_file = "/opt/local/lib/php/test.php"

# ls -la /opt/local/etc/php5/php.ini
-rw-r--r--   1 root  admin  68630 Jul 27 13:53 /opt/local/etc/php5/php.ini

# php -r "echo ini_get('auto_prepend_file');"
/opt/local/lib/php/test.php
Run Code Online (Sandbox Code Playgroud)

但是之后...

# php -r "echo test();"
Fatal error: Call to undefined function test() in Command line code on line 1

# php -i | grep auto_prepend_file …
Run Code Online (Sandbox Code Playgroud)

php command-line-interface

1
推荐指数
1
解决办法
2616
查看次数

实时重定向stdout和stderr

我认为这是一个简单的问题,但无法找到解决方案.我将rubd脚本的stdout和stderr重定向到'puts',有时将错误(!)重定向到这样的日志文件中:

bundle exec rake import:long_task --trace  >& log/import.log &
Run Code Online (Sandbox Code Playgroud)

但它似乎没有puts实时刷新文件,当它获得异常时,它将回溯放在顶部import.log.所以,这不是完美的调试,但它的工作原理.

我如何实时地将脚本的输出重定向到文件,以确切地看到如果我直接在终端中启动它而不重定向我会看到什么?

使用:Ruby 1.9.2,Rails 3.2,FreeBSD和csh shell.

ruby terminal freebsd csh command-line-interface

1
推荐指数
1
解决办法
1978
查看次数

Cpp/Cli将std :: map转换为.net字典

我有一个cpp项目,一个cpp cli项目和一个ac#win forms项目.我的本机cpp项目中有一个std :: map.如何在我的cli项目中将其转换为.net dictonary?

c++ dictionary map command-line-interface

1
推荐指数
1
解决办法
4706
查看次数

从cron运行时包含相对文件

考虑一个简单的PHP脚本:

$ pwd
/var/www/site/public_html

$ cat a.php
#!/usr/bin/php -q
<?php
echo "a: ".getcwd();
require_once('b.php');
?>

$ cat b.php
<?php
echo "b: ".getcwd();
?>

$ ./a.php > output
$ cat output
a: /var/www/site/public_html
b: /var/www/site/public_html
Run Code Online (Sandbox Code Playgroud)

然后我建立了一个简单的cron工作:

* * * * * /var/www/site/public_html/a.php > /var/www/site/public_html/output
Run Code Online (Sandbox Code Playgroud)

但是,这是cron运行后的输出:

$ cat output
a: /home/user
Run Code Online (Sandbox Code Playgroud)

路径已更改,require函数无法再找到要包含的脚本.令人沮丧的是,我有另一台服务器,cron作业确实保留了它的路径.我已经完成了配置选项,但无法弄清楚如何配置PHP以保持原始路径,即使作为cron作业运行.这是怎么做到的?

谢谢.

php cron command-line-interface

1
推荐指数
1
解决办法
488
查看次数

Linux排序 - 没有正确排序?

我有一个包含2列的大文件.单词和数字.我想按数字排序第二列.

我运行这个命令:

sort -k2 words.txt

我得到这个结果:

Release 99
Some    99
tmc     99
watcher 99
no      990
in      9909
one     992
Run Code Online (Sandbox Code Playgroud)

我想要对它进行数字排序.为什么它有"9909"作为倒数第二?

TIA!

linux ubuntu command-line-interface

1
推荐指数
1
解决办法
1316
查看次数

PHP shell脚本'echo -ne'怎么样?(Shell Progressbar)

我有一个PHP脚本,我想展示它的progess.从这个超级问题和完美答案如何将进度条添加到shell脚本?我试图模仿这种行为:

shell_exec("echo -ne '######      30%'\r");
Run Code Online (Sandbox Code Playgroud)

但没有任何东西被打印到屏幕上.

我的猜测是因为STDOUT不正确,或者我必须回应回声吗?

echo shell_exec("echo -ne '######      30%'\r");
Run Code Online (Sandbox Code Playgroud)

php shell shell-exec command-line-interface echo

1
推荐指数
1
解决办法
1948
查看次数

匹配模式的mv文件夹

我有几百个文件夹要根据文件夹的名称进行整理,假设我有几个文件夹名称BBC和peppapig作为名称的一部分

例如(文件夹)

 doc_BBC_life
 BBC.nature
 peppapigepisode1
 kidspeppapigseries
 animalsBBC-docment
 newfolder1
 newfolder2
Run Code Online (Sandbox Code Playgroud)

现在我想将名为"BBC"的文件夹(有四个)移动到名为newfolder1的子文件夹中,同样将名为"peppapig"的文件夹移动到newfolder2文件夹中

注意:每个文件夹都有几个文件也有"BBC"或"peppapig"的名称,我想保留内容而不会乱窜.

我想做这样的事情"mv BBC BBC /

有什么建议使用mv?谢谢

linux move command-line-interface

1
推荐指数
1
解决办法
5861
查看次数

如何查看已安装的Apache Mesos版本?

如何确定Apache Mesos的已安装版本?

mesos help 关于cli不说......

mesos help
Usage: mesos <command> [OPTIONS]

Available commands:
    help
    log
    execute
    ps
    resolve
    cat
    local
    init-wrapper
    tail
    scp
    stop-cluster.sh
    start-masters.sh
    stop-slaves.sh
    slave
    start-cluster.sh
    stop-masters.sh
    daemon.sh
    master
    start-slaves.sh
Run Code Online (Sandbox Code Playgroud)

没有男人.

man mesos
No manual entry for mesos
Run Code Online (Sandbox Code Playgroud)

command-line-interface mesos

1
推荐指数
1
解决办法
4418
查看次数

How do I run a command that can take an unspecified number of env arguments?

fn main() {
    let args: Vec<String> = env::args().collect();
    Command::new("sudo")
        .arg("apt")
        .arg(&args[0].to_lowercase())
        .arg(&args[EVERY OTHER ARGUMENT THE USER INPUTTED]);
}
Run Code Online (Sandbox Code Playgroud)

As you see in the code I want to have every argument the user inputted (after the 1st argument) to run but I have no idea how to implement this.

command-line-interface rust

1
推荐指数
1
解决办法
612
查看次数