给定一个构建和执行某些命令的shell脚本(带有条件,连接和插值)(在我的情况下调用ImageMagick的convertcli),有没有办法列出在该脚本中执行的命令?由于脚本convert多次调用args,我想获得如下列表.
convert ...
convert ...
convert ...
...
Run Code Online (Sandbox Code Playgroud)
我在OS X中使用zsh,但可以切换到bash等.
如何暂停执行命令行脚本以使用户可以使用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) 我在命令行中运行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(),它将按预期工作).
假设我有一个哈希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。
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
这是我正在试验的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)
任何帮助或想法表示赞赏
我正在尝试用我的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有什么问题......
谢谢所有帮助的人;)
再见!
在命令行......
当我运行时firebase deploy,我收到以下错误:
错误:输入的凭据不正确.
当我运行时firebase deploy --debug,当您单击此处时,我会显示以下(更详细的)错误(和日志).(firebase-debug.log)
当我运行时firebase deploy --project good-project-id,我得到了预期的部署行为.
当我重新运行时firebase deploy,firebase deploy --debug我得到了已经描述过的相同错误.
如何进行适当的更改以消除运行时的错误firebase deploy?
笔记:
我尝试在服务器上运行飞车修复,但是安装cli时遇到问题。我在服务器上提取了它,我在〜/ flyway / flyway-4.2.0 $,但是它说找不到命令。我想念什么吗?(已安装Java)
发布扩展名时,我试图覆盖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版