标签: command-line-interface

如何检测何时调用了“--help”?

我的 Click 7.0 应用程序有一组,有多个命令,由主cli函数调用,如下所示:

import click

@click.group()
@click.pass_context
def cli(ctx):
   "This is cli helptext"

    click.echo('cli called')
    click.echo('cli args: {0}'.format(ctx.args))

@cli.group(chain=True)
@click.option('-r', '--repeat', default=1, type=click.INT, help='repeat helptext')
@click.pass_context
def chainedgroup(ctx, repeat):
    "This is chainedgroup helptext"

    for _ in range(repeat):
        click.echo('chainedgroup called')
    click.echo('chainedgroup args: {0}'.format(ctx.args))

@chainedgroup.command()
@click.pass_context
def command1(ctx):
    "This is command1 helptext"

    print('command1 called')
    print('command1 args: {0}'.format(ctx.args))

@chainedgroup.command()
@click.pass_context
def command2(ctx):
    "This is command2 helptext"

    print('command2 called')
    print('command2 args: {0}'.format(ctx.args))
Run Code Online (Sandbox Code Playgroud)

跑:

$ testcli --help
$ testcli chainedgroup --help
$ …
Run Code Online (Sandbox Code Playgroud)

python command-line-interface python-click

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

如何使用 grpc_cli 传递元数据?

我如何使用grpc_cli传递元数据?我的期望是我的服务器拦截器将能够使用X-FOO标头。

$ grpc_cli call  --json_input --json_output localhost:7001 \
   hello.HelloWorldService.SayHello "{'name': 'foo'}" \
   -metadata "X-FOO:BAR;";
connecting to localhost:7001
Sending client initial metadata:
X-FOO : BAR;
E0726 13:26:20.231276000 4583892416 call.cc:900]                       validate_metadata: {"created":"@1564172780.231266000","description":"Illegal header key","file":"src/core/lib/surface/validate_metadata.cc","file_line":43,"offset":0,"raw_bytes":"58 2d 46 4f 4f 'X-FOO'"}
E0726 13:26:20.231808000 4583892416 call_op_set.h:942]                 assertion failed: GRPC_CALL_OK == g_core_codegen_interface->grpc_call_start_batch( call_.call(), ops, nops, core_cq_tag(), nullptr)
Run Code Online (Sandbox Code Playgroud)

-helpfull文件说:

-metadata (Metadata to send to server, in the form of key1:val1:key2:val2)
  type: string default: ""
Run Code Online (Sandbox Code Playgroud)

环境信息:

$ brew info grpc;
grpc: stable …
Run Code Online (Sandbox Code Playgroud)

shell command-line command-line-interface command-line-arguments grpc

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

如何使用命令行在 VSCode 中安装多个扩展

如何使用 cli 在 VSCode 中安装多个扩展?我试过:

code --install-extension xyz.local-history jock.svg
Run Code Online (Sandbox Code Playgroud)

但它只安装第一个扩展xyz.local-history

Installing extensions...
Installing extension 'xyz.local-history' v1.7.0...
(node:10874) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Extension 'xyz.local-history' v1.7.0 was successfully installed.
Run Code Online (Sandbox Code Playgroud)

installation command-line-interface visual-studio-code

2
推荐指数
3
解决办法
1956
查看次数

测试 pico cli 命令,Java

我已经开发了一个 Java API 并且我已经构建了一个命令行界面来使用PicoCli来使用它

测试我的 pico 命令的正确方法是什么?

提前致谢

java command-line-interface picocli

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

如何从命令行创建拉取请求?

当我完成我的工作时,我将更改添加、提交并推送到由当前分支跟踪的远程分支。所以命令如下。

结帐驴
添加。
提交--消息
推送

现在,我想创建一个拉取请求。如果我请求从本地驴或远程驴拉拉,对我来说并不重要。我可以使用 GUI 来做到这一点,但在我看来,使用 CLI 执行该操作更像是一个老板。

根据这篇文章,我应该运行这样的东西。

git request-pull 驴远程/驴

也许

git request-pull remote/donkey remote/dev

然而,在尝试了几种不同的组合后,我失败了,只得到了一系列错误,暗示命令是正确的,但参数没有意义。

奇怪的是,在谷歌搜索时创建拉取请求并不多,可能会淹没在使用 GUI 的信息中。

git command-line-interface pull-request

2
推荐指数
2
解决办法
5859
查看次数

如何使用 Azure CLI 访问 AAD B2C 租户

我需要在我有权访问的 AAD B2C 租户中获取用户详细信息:

az ad user show --id 0cbb4fd6-7091-44fb-ab5e-d2bd9c366f59
Run Code Online (Sandbox Code Playgroud)

这找不到用户,因为我登录到我的组织常规 AAD 租户。B2C 租户没有订阅,他们链接到主要租户,这意味着我不能这样做

az login -t myb2ctenant.onmicrosoft.com
Run Code Online (Sandbox Code Playgroud)

在门户中工作并不方便,我想在 CLI 中执行我的例程。我怎样才能做到这一点?

command-line-interface azure azure-active-directory azure-cli azure-ad-b2c

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

有没有办法让 ESLint 报告的唯一错误

我正在使用 TypeScript 和 React 重构现有项目。我介绍了 ESLint,代码中报告了 300 多个错误。

这是一项相当大的任务,因为 ESLint 本身无法自动修复这些问题。

有没有办法从 ESLint CLI 输出中获取不同的错误,然后使用该规则获取引发规则错误的文件,以便我可以逐个规则而不是逐个文件地修复它?

javascript command-line-interface typescript eslint

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

使用 GREP 搜索文件的特定行

我有一个包含许多文本文件的目录。我想在文件的特定行中搜索给定的字符串(例如仅在每个文件的第 2 行和第 3 行中搜索“abc”)。然后当我找到匹配项时,我想打印匹配文件的第 1 行。

我的方法 - 我正在使用 -n 选项进行 grep 搜索并将输出存储在不同的文件中,然后在该文件中搜索行号。然后我试图获取文件名,然后打印出它的第一行。

使用我上面提到的方法,我无法获得正确文件的文件名,即使我知道这种方法非常冗长。

有没有更好更快的解决方案?

例如。
1.txt

file 1
one
two
Run Code Online (Sandbox Code Playgroud)

2.txt

file 2
two
three
Run Code Online (Sandbox Code Playgroud)

我想在每个文件grep的第 2 行中搜索“两个” ,然后使用匹配打印文件的第一行。在这个例子中,这将是 2.txt,输出应该是“文件 2”

我知道使用sed/更容易,awk但是有什么方法可以使用grep吗?

linux bash terminal grep command-line-interface

2
推荐指数
2
解决办法
192
查看次数

Mac OSX (Apple Silicon) Homebrew 已安装但未找到 brew cmd

我已经搜索了我遇到的错误,但据我所知,这个问题可能与 Homebrew 为 Big Sur/Apple Silicon 保存的路径与其他 Macbook 方法不同有关。

按照Homebrew 页面上的说明,我运行了cURL命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)

但是,操作成功完成后,终端出现警告: warning: bin/opt/ path does not exist

当我尝试运行brew doctor命令时没有找到。

很明显存在路径问题,但我该如何解决

terminal homebrew command-line-interface

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

有没有办法引用先前输入的命令的倒数第二个单词(例如 $^ 表示第一个单词, $$ 表示最后一个单词)

在PowerShell中输入命令时,可以参考我与最近输入的命令的第一个和最后一个字的数值$^$$。我想知道是否有一个快捷方式来引用倒数第二个、倒数第 n 个或第 n 个单词。

powershell command-line command-line-interface

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