命令行参数

以下是为您整理出来关于【命令行参数】合集内容,如果觉得还不错,请帮忙转发推荐。

【命令行参数】技术教程文章

Linux getopt/getopts解析命令行参数教程【代码】【图】

一、说明 shell中获取参数可以直接使用$1、$2等形式来获取,但这种方式有明显的限制:每个参数的位置是固定的。比如如果在设计上$1是ip地址$2是端口,那在执行时就必须第一个参数是ip第二个参数是端口而不能反过来。 shell提供了getopt和getopts来解析参数,getopt比getopts功能强一些getopts比getopt简单一些;总体而言getopt和getopts都差强人意。 二、使用getopt解析参数 getopt比getopts强一些复杂一些:能在命令行中单独使用...

Java / C/C++ / Python / shell中命令行参数的解析器

我正在寻找一个库来解析命令行参数,这些参数在Java,C/C++,Python和(最好)shell中都是相同的. “相同”我的意思是(1)具有完全相同的规则来解析所有三种语言中的参数,(2)使用相同的配置文件或具有类似的API来指定参数,(3)具有类似的API来访问参数值. 我总是在Java中使用C和Apache CLI中的getopt,但是对于跨多种语言的参数使用相同的规范会很好.解决方法:getopt也可以在Python和shell中使用. Python有argparse模块,它更容易使用(特别是...

linux – 迭代命令行参数对【代码】

我有一个超过400个坐标,我想作为参数传递给一个字符串,但我不知道如何将第一个参数作为“lat”传递,第二个参数传递为“lng”,依此类推. 说我过去了./test 1 2 3 4我想要我的输出coordinate: {lat: 1, lng: 2} coordinate: {lat: 3, lng: 4}这是我到目前为止所做的,但显然这不是它的完成方式.for i in $@ doecho "coordinate: {lat: $i, lng: $i}"done解决方法: #!/usr/bin/env bash while (( "$#" >= 2 )); doecho "coordinate: {l...

linux – 如何从文件传递命令行参数【代码】

我有一个C程序从argv读取命令行参数.是否可以将管道重定向到文件的内容作为命令行参数到我的程序?假设我有一个带有此内容的文件arguments.dat:0 0.2 302 0我希望通过以下方式调用我的程序:./myprogram 0 0.2 302 0我尝试了以下方法:cat arguments.dat | ./myprogram没有成功.解决方法:对于大多数shell,您可以使用$(< filename)将文件内容插入命令行: ./myprogram $(<arguments.dat)如果你的shell不支持,那么旧的方法之一将起作...

linux – 拆分和连接(从输入文件创建命令行参数)【代码】

如何以格式连接行文件中的文本:line1 line2 ...得到像这样的结果-o line1:1 -o line2:1 ...我找到了解决方案如何连接像这样的分隔符:ds=`cat list.txt` ${ds//$'\n'/','}但我无法弄清楚如何为每个条目添加前缀.解决方法:这取决于您要对所创建的字符串执行的操作.它看起来像一组命令行选项,所以我假设您要将它与一些名为util的实用程序一起使用. 这是/ bin / sh的解决方案:#!/bin/shlistfile=$1set -- while IFS= read -r line; ...

linux – 如何将前几个命令行参数存储到数组中【代码】

我有一个shell脚本,它从命令行获取输入参数.以下只有两个选项:./test.sh 20180415 20180416 20180417 20180418 2 ./test.sh 20180418 2第一个选项需要5个输入参数,其中前四个是日期格式“YYYYMMDD”,我想将这些日期存储在数组变量中:sets_date =(“$@”),最后一个参数是2我将存储它在不同的变量. 第二个选项需要2个输入参数,其中第一个参数采用相同的日期格式,我仍然希望将该日期存储在数组变量中,将最后一个参数存储在不同的变量...

linux-crontab是否接受命令行参数?【代码】

我写了一段代码,将.trc文件从源指令移动到备份指令.现在,我已将时间(更旧了多少时间),源路径和备份路径用作此文件的命令行参数.现在,当我从sh调用脚本时,它可以正常工作.但是在crontab中它不起作用,这让我想知道crontab是否允许传递命令行参数.我的sh命令是:sh trace_bkp.sh 2 /home/adhikarisubir/test/basic_unix /home/adhikarisubir/test_bkp其中2定义了2分钟的旧文件,下一个是资源路径,最后一个是目标路径.我在crontab中设置...

linux-如何在Bash中解析命令行参数(作为键值对)?带有嵌套分隔符的参数【代码】

当我使用等于作为分隔符解析命令行参数时,可以嵌套等于.CC =“ arm-oe-linux –sysroots = / home / somelocation” CFLAGS =“”我已经试过了:for ARGUMENT in "$@" doKEY=$(echo $ARGUMENT | cut -f1 -d=)VALUE=$(echo $ARGUMENT | cut -f2 -d=) echo $KEYecho $VALUEecho "*******************"case "$KEY" inCC) CC=${VALUE} ;; CFLAGS) CFLAGS=${VALUE} ;; *) esac done但是,对于嵌套=则无济于事.有什...

linux-具有命令行参数和空格的Perl脚本【代码】

我觉得我在这里似乎遗漏了一些明显的东西,但是我似乎无法弄清楚发生了什么.我有一个从C代码调用的perl脚本.脚本参数是这样的:my_script "/some/file/path" "arg" "arg with spaces" "arg" "/some/other/file"当我在Windows中运行它时,Perl正确地将其标识为5个参数,而当我在SunOS Unix计算机上运行它时,它标识为8,将带有空格的arg拆分为单独的args. 不知道它是否有任何区别,但是在Windows中,我像这样运行它:perl my_script <args>...

linux – 如何通过存储在单个变量中的引号传递命令行参数?【代码】

我想从shell脚本调用外部应用程序,但是这个shell脚本在单个变量中获取参数(来自其他脚本).一切都没问题,直到我不必为单个参数使用双引号,而是用空格分隔的单词. 这是我的问题的简化示例(sh_param只打印所有传递的参数):#!/bin/shpass() {echo "Result with \$@"./sh_param $@echo "Result with \"\$@\""./sh_param "$@"echo "Result with \$*"./sh_param $*echo "Result with \"\$*\""./sh_param "$*" }pass '"single param" sepa...

命令行参数 - 相关标签