标签: command-line-interface

跟踪shell脚本中执行的shell命令(例如zsh)

给定一个构建和执行某些命令的shell脚本(带有条件,连接和插值)(在我的情况下调用ImageMagick的convertcli),有没有办法列出在该脚本中执行的命令?由于脚本convert多次调用args,我想获得如下列表.

convert ...
convert ...
convert ...
...
Run Code Online (Sandbox Code Playgroud)

我在OS X中使用zsh,但可以切换到bash等.

bash shell scripting zsh command-line-interface

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

暂停PHP CLI脚本以使用户可以使用CTRL-C退出

如何暂停执行命令行脚本以使用户可以使用Ctrl+ C

例如,我有这个脚本用于从许多表中删除用户ID,但是想要在真正执行之前暂停脚本:

<?php

define('DBHOST', '/tmp');
define('DBNAME', 'XXX');
define('DBUSER', 'YYY');
define('DBPASS', 'ZZZ');

$TABLES = array('pref_game',
                'pref_hand',
                'pref_luck',
                'pref_match',
                'pref_misere',
                'pref_money',
                'pref_pass',
                'pref_rep',
                'pref_status',
                'pref_users'
        );

if ($argc != 2)
        exit("Missing user id\n");

if (!preg_match('/^([A-Z]{2}[0-9]+)$/', $argv[1], $matches))
        exit("Invalid user id\n");

$id = $matches[1];
printf("Deleting user %s Press CTRL-C to abort\n\n", $id);

# XXX stop here, but how? XXX

try {
        $db = new PDO('pgsql:host=' . DBHOST . '; dbname=' . DBNAME, DBUSER, DBPASS);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        foreach ($TABLES as …
Run Code Online (Sandbox Code Playgroud)

php command-line command-line-interface

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

Bootstrap函数_initRouter()会破坏我的自定义路由

我在命令行运行Zend Framework操作时遵循示例2 ,我遇到了致命错误

Fatal error: Zend_Controller_Router_Exception: Route logout is not defined
Run Code Online (Sandbox Code Playgroud)

使用我在application.ini中定义的自定义路由和导航

resources.router.routes.logout.route = logout
resources.router.routes.logout.defaults.controller = authentication    
resources.router.routes.logout.defaults.action = logout
resources.navigation.pages.logout.label = "Logout"
resources.navigation.pages.logout.controller = "authentication"
resources.navigation.pages.logout.action = "logout"
resources.navigation.pages.logout.route = "logout"
resources.navigation.pages.logout.resource = "logout"
Run Code Online (Sandbox Code Playgroud)

我已将错误原因缩小到此引导函数:

protected function _initRouter ()
{
    if (PHP_SAPI == 'cli') {
        $this->bootstrap ('frontcontroller');
        $front = $this->getResource('frontcontroller');
        require_once APPLICATION_PATH. '/router/Cli.php';
        $front->setRouter (new Application_Router_Cli ());
        $front->setRequest (new Zend_Controller_Request_Simple ());
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?错误仅在不使用CLI时出现(如果我删除了_initRouter(),它将按预期工作).

php bootstrapping zend-framework command-line-interface

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

从git commit hash获取文件或文件夹

假设我有一个哈希ccf52ef35d7767c5b0f251542ab79608c50a3a56

如何使用git命令行从提交哈希和文件结构中获取文件的内容。

另外,如果路径是目录而不是文件,如何获得目录列表。我不需要检查,只需要检查两个命令即可。

我知道这是命令: git log [<options>] [<since>..<until>] [[--] <path>...]这里的页面

我试过了git log ccf52ef35d7767c5b0f251542ab79608c50a3a56,但是只是返回了泛型git log(所有提交)。我什至不知道如何获取文件的内容,除了可能将其输送到ls或中cat

编辑:好的,所以我想通了git show --pretty="format:" --name-only a3da8bb。是仅grep出目录并从目录中整理文件的最佳方法吗?编辑2:看到答案,谢谢。仍在寻找解决方法cat

git terminal command-line-interface

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

使用Apache common-cli解析参数

Apache common-cli在其网站上有一个ls命令示例:

options.addOption( "a", "all", false, "do not hide entries starting with ." );
options.addOption( "A", "almost-all", false, "do not list implied . and .." );
options.addOption( "b", "escape", false, "print octal escapes for nongraphic " + "characters" );
options.addOption( OptionBuilder.withLongOpt( "block-size" )
                                .withDescription( "use SIZE-byte blocks" )
                                .hasArg()
                                .withArgName("SIZE")
                                .create() );
Run Code Online (Sandbox Code Playgroud)

这显示了这样的帮助:

-a, --all                  do not hide entries starting with .
-A, --almost-all           do not list implied . and ..
-b, --escape               print octal escapes for nongraphic …
Run Code Online (Sandbox Code Playgroud)

java command-line-interface apache-commons apache-commons-cli

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

如何检测当前工作目录是否为Rails项目根目录

这是我正在试验的Rails CLI,并希望最终成为一个宝石.

任何人都有一个正则表达式或类似方法的想法,以确定当前工作目录是否是rails项目的rails根目录?

def check_current_directory
  current_directory = Dir.getwd
  if current_directory # How to determine if inside Rails root?
    proceed
  else
    abort("You must be in the root of your Rails app to use this gem")
  end
end
Run Code Online (Sandbox Code Playgroud)

任何帮助或想法表示赞赏

ruby gem ruby-on-rails command-line-interface

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

Cordova为Android级别api 20构建

我正在尝试用我的android 4.4.4构建一个用Angular2 + Ionic2(即Cordova 6)制作的应用程序.我注意到android的4.4.4版本被引用到了api级别20,所以这是我下载和安装的版本(api20 + android SDK Build Tools 20级).在cordova我编辑了平台/ android/project.properties和platforms/android/CordovaLib/project.properties来构建到android-2O而不是默认的android-23 api.我还编辑了AndroidManifest.xml.

当我尝试用cordova build android编译我的项目时,问题出现了,cordova执行一些CordovaLib:指令UP-TO-DATE和CordovaLib上的bug:compileDebugJavaWithJavac ..

根据错误报告:

platforms/android/CordovaLib/src/org/apache/cordova/CordovaClientCertRequest.java:25:错误:找不到符号导入android.webkit.ClientCertRequest; ^符号:类ClientCertRequest位置:包android.webkit

在所有错误报告的最后,它还说:

您可能没有所需的环境或操作系统来构建此项目错误:命令的错误代码1:platforms/android/gradlew with args:cdvBuildDebug,-b,/ Users/thomas/Documents/www/MyProject/platforms/android/build .gradle,-Dorg.gradle.daemon =真,-Pandroid.useDeprecatedNdk =真

所以我来这里寻求帮助,因为我不知道Cordova和android-SDK有什么问题......

谢谢所有帮助的人;)

再见!

android build command-line-interface cordova

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

使用firebase-tools CLI更改目标Firebase ID

在命令行......

当我运行时firebase deploy,我收到以下错误:

错误:输入的凭据不正确.

当我运行时firebase deploy --debug,当您单击此处时,我会显示以下(更详细的)错误(和日志).(firebase-debug.log)

当我运行时firebase deploy --project good-project-id,我得到了预期的部署行为.

当我重新运行时firebase deploy,firebase deploy --debug我得到了已经描述过的相同错误.

如何进行适当的更改以消除运行时的错误firebase deploy

笔记:

command-line-interface firebase firebase-tools

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

安装flyway CLI时找不到命令

我尝试在服务器上运行飞车修复,但是安装cli时遇到问题。我在服务器上提取了它,我在〜/ flyway / flyway-4.2.0 $,但是它说找不到命令。我想念什么吗?(已安装Java)

手册只说了这一点

command-line-interface flyway

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

如何正确使用tfx扩展创建或tfx扩展发布的--override参数

发布扩展名时,我试图覆盖vss-extension.json的'version'字段,但无法使--override参数正常工作。

我可以overrides-file像这样工作:

tfx extension create --overrides-file override.json

其中override.json包含一行: {"version": "0.0.9999"}

但是当我这样尝试时--override

tfx extension create --override {"version": "0.0.9999"}

我得到这个:

错误:错误:无法解析JSON参数覆盖。信息:SyntaxError:位置1的JSON中的意外令牌v

我已经尝试了各种方法,例如在花括号外添加单引号,或者省略花括号,但是我遇到了类似的错误。

我正在使用“ TFS跨平台命令行界面”的0.5.4版

tfs json command-line-interface

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