标签: command-line

是否可以捕获"未找到命令"事件?

我正在使用bash,并想知道是否有可能捕获"-bash:gitb:command not found"事件以将其替换为您自己的处理程序.

例如,如果我跑,我会喜欢

gitb clone而不是git clone,它会自动纠正.

如果我可以捕获command not found事件,检查命令是否git以及第一个单词是4个字符长(或者我可以在bash脚本中输入任何类型的规则).

它还可以自动为其他命令创建别名,而无需手动(或使用循环)创建别名.

它们是bash中的这种功能(我使用的是4.1版本)吗?任何其他想法赞赏!

bash command-line alias

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

ffmpeg获取所有声音设备(输入/输出)

我已经下载了ffmpegfor 的静态版本,Windows并尝试获取所有我搜索过的声音设备(输入/输出),并找到了此命令来检索音频设备,但是当我使用它时ffmpeg arecord -l,它显示了此错误

Unrecognized option 'l'.
Error splitting the argument list: Option not found
Run Code Online (Sandbox Code Playgroud)

这里缺少什么?

audio command-line ffmpeg device

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

命令行解析器在sh中调用python时无法处理空格

a.py:
for arg in sys.argv:
    print arg

b.sh:
python a.py $*
Run Code Online (Sandbox Code Playgroud)

情况1:

python a.py "123 456"
Run Code Online (Sandbox Code Playgroud)

得到:

123 456

情况2:

/bin/sh b.sh "123 456"
Run Code Online (Sandbox Code Playgroud)

得到:

123

456

似乎"123 456"将削减两个参数,我如何修改b.sh,使a.py可以将"123 456"视为一个arg.

python shell command-line

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

在Mac OS X Yosemite上重命名一个文件夹中的所有文件

我有一个包含几十个没有扩展名的文件的文件夹.我想为每个文件添加.txt扩展名.我不想通过双击和手动重命名来重命名每个文件.是否有任何shell命令可以批量执行它?

unix bash shell command-line osx-yosemite

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

从文本文件中回显.bat文件中的变量

美好的一天,我仍然是DOS命令的新手,我想,如果仍然可能.我有一个.bat我想从文本文件中调用一个值.我的意思是我正在做一个.bat文件(通用),普通用户只需更改文本文件中的值即可使用该文件.

例:

我在我的bat文件中有这个命令:(这只是一个例子)

@ECHO OFF 
echo First Name:
echo Kobe
echo LastName:
echo Bryant
pause
Run Code Online (Sandbox Code Playgroud)

而不是编辑.bat文件或在文件上设置变量.bat.我想创建一个 set.txt将保存变量.

例:

set.txt

FirstName=Kobe
LastName=Bryant
Run Code Online (Sandbox Code Playgroud)

因此该.bat文件将是通用/灵活的.无需改变.

的run.bat

echo First Name:
echo $FirstName
echo Last Name:
echo $LastName
Run Code Online (Sandbox Code Playgroud)

关于我将如何做的任何提示?

谢谢.

windows variables command-line batch-file

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

在运行时模拟命令行参数

我有一个库,当库被编译为独立的二进制文件时,它有自己的命令行参数解析机制,这里是代码:

int main( int argc, char **argv )
{
  int result;

  argc = wool_init( argc, argv );
  ....
}

int wool_init( int argc, char **argv )
{

  us_elapsed();

  argc = decode_options( argc, argv );
  .....
}
Run Code Online (Sandbox Code Playgroud)

现在我将这个库静态链接到另一个具有自己的命令行解析机制和参数的库.我想在运行时使用一些参数初始化第一个库,例如我将这些参数传递给mimic命令行:

/* initializing wool run-time environment */
char **woolArg;
*woolArg[0] = "-p 3";
wool_init(1, woolArg);
Run Code Online (Sandbox Code Playgroud)

但我得到了以下错误.

:113:14: error: assignment makes integer from pointer without a cast [-Werror]
  *woolArg[0] = "-p 3";
              ^
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

c command-line argv

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

用于运行命令行的Python脚本,该命令行以特定的python版本启动python脚本

我需要一些帮助.是否有可能让python在Windows中启动命令行并让命令行在我的电脑上执行另一个python版本的脚本?

示例:我的电脑上有两个版本的python.一个是Anaconda,另一个是纯Python.现在我有一些我希望按特定顺序执行的脚本.我的问题是,Google AnalyticsAPI不能与Anaconda一起使用,而其他一些软件包(如Simpy)也无法与纯Python一起使用.所以我需要为一个项目使用两个不同版本的python.

现在我想编写一个litte python文件,它打开命令行并在我的不同Python版本上按特定顺序执行scrips.

我知道如何在命令行上运行python文件.它是通过

C:\path_to_python\python.exe C:\path_to_file\file.py
Run Code Online (Sandbox Code Playgroud)

但是如何让python脚本在命令行中执行上面的那行呢?

希望可以有人帮帮我.

谢谢.

python windows command-line multiple-versions python-3.x

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

c ++检查命令行参数

我需要在命令行参数中检查两个单独的文件名.

./a.out hello.txt hello2.txt
Run Code Online (Sandbox Code Playgroud)

当两个文件名相同时,以下代码不会产生错误.

  #include <stdio.h>
  #include <iostream>
  #include <stdexcept>

  using namespace std;

  int main (int argc, char *argv[])
  {
     try
     {
        if (argc != 3 || argv[1] == argv[2])
        {
           throw invalid_argument("Error");
        }
     }
     catch (invalid_argument &ex)
     {
        cout << ex.what() << '\n';
     }
  }
Run Code Online (Sandbox Code Playgroud)

c++ command-line exception

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

Bash!$等价于第一个单词

有没有办法让Bash返回上一个命令的第一个单词(命令名称本身),类似于如何!$返回上一个命令的最后一个单词?

例如:

ls -l
Run Code Online (Sandbox Code Playgroud)

我想回来 ls

linux bash shell command-line

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

jq:计算满足条件的嵌套对象值

json数据:

{testId: '1' studentId:{'s1':{score: 20} 's2':{score: 80}}}
{testId: '2' studentId:{'s1':{score: 60} 's2':{score: 70}}}
{testId: '3' studentId:{'s5':{score: 40} 's7':{score: 30}}}
...
Run Code Online (Sandbox Code Playgroud)

我想用JQ告诉我每个测试有多少学生达到> x的分数.

因此对于上面的输入和x = 50,输出:

{testId: '1' numStudents:1}
{testId: '2' numStudents:2}
{testId: '3' numStudents:0}
Run Code Online (Sandbox Code Playgroud)

我能够生成一份列表,列出了每次考试成绩> 50的学生

{testId, studentId: .studentId[]?} | select(.studentId.score>50)
Run Code Online (Sandbox Code Playgroud)

此命令创建一个对象列表,其中每个对象包含testId,studentId和score,其中所有分数都大于50.但是我不知道如何将这些结果重新组合到我想要的输出中.

command-line json count jq

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