标签: command-line

如何从 Perl 将参数传递给外部进程?

我有一个应用程序可执行文件,它使用不同的参数运行以产生不同的输出。我想从脚本的命令行参数中为此提供一些参数,而其他参数则是脚本的本地参数。用法:

./dump-output.pl <version> <folder-name> <output-file>


my $version = $ARGV[0];
my $foldername = $ARGV[1];
my $outputfile = $ARGV[2];
my $mkdir_cmd = "mkdir -p ~/$foldername";

# There are 6 types of outputs, which can be created:
# 'a', 'b', 'c', 'd', 'e' or 'f'
my @outputtype = ('a', 'b', 'c', 'd', 'e', 'f');

my $mkdir_out = `$mkdir_cmd`;

for( $itr=0; itr<=5; itr++ ) {
    $my_cmd = "./my_app -v $version -t $outputtype[itr] -f $outputfile > ~/$foldername/$outputtype.out"
    $my_out = `$my_cmd`;
}
Run Code Online (Sandbox Code Playgroud)

我对上面的代码做了一些固有的错误,但一直无法弄清楚:-(

perl command-line arguments external-process

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

为什么我不能在python命令行中使用&

我试图接收使用python命令行参数,但我在接收和与参数一起有一些问题

脚本

import sys
START_D = sys.argv[1]
print START_D
Run Code Online (Sandbox Code Playgroud)

这很好用

python test.py sdsss
sdsss
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用&它正在给一些随机的东西

python test.py sds&ss
[1] 8682
sds
Netid  State      Recv-Q Send-Q Local Address:Port                 Peer Address:Port                
u_seq  ESTAB      0      0      @0001b 25095                 * 25096                
u_seq  ESTAB      0      0      @0001a 25086                 * 25087                
u_seq  ESTAB      0      0      @00020 74036                
.
.
.
.
.
tcp    ESTAB      0      0      2405:205:830d:2a38:492a:5a32:cffe:eca1:34196                  2404:6800:4009:807::2003:https                
[1]+  Done                    python test.py sds
Run Code Online (Sandbox Code Playgroud)

什么是issuse如何修复它,我想在参数中使用&,所以当我发送参数时如何使用它?

python shell command-line

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

使用ICACLS将文件权限设置为"只读"

我有一点时间从简单,直观转换chmod 400到尝试在Windows命令提示符中使用相同的东西ICACLS.与UNIX/LINUX的时尚,八进制表示相比chmod,ICACLS似乎是一个复杂的噩梦.

我有一个SSH .pem密钥,我试图使其只读.我想用这个新的只读权限替换当前使用的旧权限.我最接近找到答案如下:

ICACLS "D:\Folder A\Another Folder\File Name Here.ext" /GRANT:R "DOMAIN\USERNAME":R
(在此处找到:https://www.experts-exchange.com/questions/27624477/What-c​​ommand-can-give-user-read-only-permission.html)

我相信:R在最后允许我替换当前的权限,这是我想要的.但我不知道应该为该"DOMAIN\USERNAME"细分市场提供什么.有什么建议?

powershell command-line batch-file chmod icacls

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

如何为某些命令附加&符号?(MacOS/bash)

每当我打开emacs时,我总是想在后台运行它.我怎样才能这样做,每当我键入"emacs xyz"时,shell会自动运行"emacs xyz&"?

bash command-line macos-sierra

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

执行C ++程序的命令行参数

这是我的c ++程序的主要内容:

void main(int argc, char** argv, Arguments& arguments)
Run Code Online (Sandbox Code Playgroud)

第一个参数是一个文件,其余参数是布尔值。
我想知道命令行编译程序的正确语法是什么。
我试过了:

gcc  -o "argument1" "argument2" "argument3" prog.cpp  
Run Code Online (Sandbox Code Playgroud)

g++ -std=c++11 -o "argument1" "argument2" "argument3" prog.cpp
Run Code Online (Sandbox Code Playgroud)

但是我得到这个错误:

linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

我怀疑我没有正确传递参数,因此我的程序未正确链接到输入文件(argument1)。
谢谢你纠正我。

c++ linux command-line

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

如何使用cmd从文本文件中删除第一行?

这是我的文本文件,我想删除第一行(带空白):

abc!
def  #
ghi./;
jklm
nopqrs
Run Code Online (Sandbox Code Playgroud)

如何从文本文件中删除第一行?

我希望第二行成为第一行:

def  #
ghi./;
jklm
nopqrs
Run Code Online (Sandbox Code Playgroud)

我尝试了findstr命令,但是它不起作用。

command-line text cmd batch-file

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

使用wget强制清除缓存

我正在尝试使用Windows 10命令提示符中的wget 从此Wikipedia页面(https://en.wikipedia.org/wiki/ISO_8601)中提取当前日期和时间。这是针对我正在开发的个人应用程序,因此与其尝试找出更复杂的c ++(仅我所知道的语言,几乎没有)将本地时间转换为UTC,然后为我的项目获取顺序日期,我只想下载带有wget的页面,并将我需要的信息细分为子字符串。该页面(刷新后)完全包含我需要的信息。我可以找到另一种方法来实现此目的,但是现在我将其个人化并尝试使其成为一种学习体验,因为它似乎应该很简单。

我在下面发布脚本,但是无论我做什么,使用wget时页面都不会刷新-除非我在浏览器中打开链接并清除缓存,否则页面将保持不变。下面的脚本不应该这样做吗?我尝试了--no-cache和--no-cookies,但是没有成功。打开chrome并转到此链接(https://en.wikipedia.org/w/index.php?title=ISO_8601&action=purge)并单击“清除”后,我始终可以立即使用wget,它可以正常工作。我只需要自动,无需手动刷新即可。

wget --no-check-certificate --no-cache --no-cookies https://en.wikipedia.org/wiki/ISO_8601
Run Code Online (Sandbox Code Playgroud)

windows command-line wget batch-file

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

从命令行c ++发送文本文件名

我想运行我的代码并以两种方式发送我的文件

  1. myprogram < input.txt 要么 cat input.txt | myprogram
  2. myprogram input.txt

我已经找到了使用的方式argc,argv[]但我无法弄清楚如何编写第一个选项的代码.

int main (int argc, char *argv[])
{
     ifstream fin;
     if(argc > 1){

        fin.open (argv[1]);
     }
     else
}
Run Code Online (Sandbox Code Playgroud)

c++ command-line file c++11

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

当我使用source命令运行重新加载bash终端时,为什么我不能使用&&链接命令?

我刚修改~/.bash_profile为包含以下别名:

alias ngrep='grep -v grep'
Run Code Online (Sandbox Code Playgroud)

然后我去了一个已经打开的终端会话并执行以下操作:

source ~/.bash_profile && ps aux | grep mysql | ngrep
Run Code Online (Sandbox Code Playgroud)

输出是:

-bash: ngrep: command not found
Run Code Online (Sandbox Code Playgroud)

然而,我立即跑了ngrep,它运行没有错误.

我想更好地了解终端.为什么我不能在使用bash配置文件后添加我刚刚添加的别名&&

在运行Mojave的Mac上,使用标准终端和bash.

macos bash terminal command-line

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

是否有一种简洁的方法来为同一扩展定义两个或多个bash别名?

假设我希望同时使用e,并c为快速的方法在我的首选编辑器来打开当前文件夹。

我是否需要像这样定义bash别名:

alias c="code ."
alias e="code ."
Run Code Online (Sandbox Code Playgroud)

还是有更简洁的语法?像这样的东西(我尝试过,但是没有用):

alias c,e="code ."
Run Code Online (Sandbox Code Playgroud)

通过在此处搜索指南,网络和bash别名问题,我也没有找到一种简洁的选择。不过,很难证明是负面的。:-)


注意:我专门使用git-bash。我反对任何答案将更普遍地适用于bash。

bash command-line alias git-bash

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