编写一个bash脚本来运行一个带有命令行参数的java程序? [复制]

     2023-03-07     172

关键词:

【中文标题】编写一个bash脚本来运行一个带有命令行参数的java程序? [复制]【英文标题】:Writing a bash script to run a java program with command line arguments? [duplicate] 【发布时间】:2017-04-18 19:45:36 【问题描述】:

我编写了一个维护银行帐户数据库的 Java 程序(这是一个课程作业),我想创建一个 bash 脚本来运行。运行程序时,您必须输入“i”、“h”、“t”或“?”让它执行任务。我想采用这些命令行参数并在 bash 中运行该程序时使用它们。例如,如果脚本被命名为accounts,我希望能够输入accounts -i 并且脚本会使用已经输入的i 命令启动程序并执行该参数的任务?我该怎么做呢?

【问题讨论】:

man getopthelp getopts 【参考方案1】:

最好的办法是让您的 Java 程序接受参数。

但我认为所有这些仅用于教育目的,并且所述 Java 程序从标准输入中读取。

通常程序的配置应该作为参数:

$ ./my_program --configA --configB --optC=valD

但在您的情况下,您似乎有一个提示用户提问的交互式程序:

$ ./my_program
Question 1?
> Answer1
Question 2?
> Answer2

$ 是命令提示符,> 是用户输入。

无论如何都可以从管道、文件等提供标准输入:

my_program1 | my_program2

my_program1 的输出作为my_program2 的输入。

my_program < my_file

my_program 的输入来自文件 my_file

您也可以从此处的文档中提供输入,语法为 &lt;&lt;MARKER 并以 MARKER 结尾:

my_program << NAME_DOESNT_MATTER
line1
line2
line3
NAME_DOESNT_MATTER

这会将三行放入my_program

在 bash 中,它只是引用位置参数,因为它们被称为 $1$2、..$n

$ cat my_shell_program
#!/bin/bash
echo "$2" "$1"
$ ./my_shell_program "hello world" "John Doe"
John Doe hello world

现在你应该可以弄清楚其余的了。

【讨论】:

使用bash脚本,编写一个实现将命令行的多个参数逆序输出的程序。

使用bash脚本,编写一个实现将命令行的多个参数逆序输出的程序,在循环中不得使用内部命令break和continue。参考技术Ai=$#while [ $i -gt 0 ]doeval "echo \\$$i"i=$((i - 1))done 查看详情

Bash 中的命令行参数 [重复]

...uplicate]【发布时间】:2012-08-1517:04:37【问题描述】:我想编写一个带有不同参数的bash脚本。它应该像普通的linux控制台程序一样使用:my_bash_script-p2-l5-t20所以值2应该保存在一个叫pages的变量中,参数l应该保存在一个叫length的变... 查看详情

带有命令行参数的 Autohotkey 脚本运行程序

...我正在使用自动热键来自动化一些手动过程。我必须运行一个接受几个命令行参数的java命令行程序(.java)。我想在自动化中执行一些预定义的任务后从autohotkey运行这个java程序。我该怎么做?【问 查看详情

如何在带有命令行参数的 vbscript 中调用函数?

...但我需要它来检查多个服务器上的多个程序,我不想重新编写它。我正在尝试查看是否可以通过命令行在vbscript中调用该函数,以便我可以使用1个 查看详情

通过将命令行工具包装在带有 gnu 信号量的 bash 脚本中来并行化命令行工具

】通过将命令行工具包装在带有gnu信号量的bash脚本中来并行化命令行工具【英文标题】:Parallelizingcommandlinetoolbywrappingitinabashscriptwithgnusemaphore【发布时间】:2016-09-3015:59:07【问题描述】:我必须在包含50000个文件的相当大的基准... 查看详情

如何在bash脚本中传递两个参数或参数[重复]

...支持来解决这个问题。我有一个bash脚本“start.sh”。我想编写一个带有两个参数的脚本,以便我可以按以下方式运行脚本./start.sh-dayoffset 查看详情

从带有参数的bash脚本中导出环境变量

...间】:2022-01-1707:28:33【问题描述】:我正在尝试使用带有一个参数的bash脚本导出环境变量。我尝试使用source命令运行脚本,但它不起作用。source./script.shdev下面是我的示例脚本#!/bin/bash#Check1argumentispa 查看详情

终端打印(代码片段)

 shebang是一个文本行,其中#!位于解释器路径之前。/bin/bash是Bash的解释器命令路径。有两种运行脚本的方式。一种是将脚本作为bash的命令行参数,另一种是授予脚本执行权限,将其变为可执行文件。将脚本作为命令行参数时... 查看详情

bash 到 Rscript 中的命令行参数

...toRscript【发布时间】:2011-05-3116:08:52【问题描述】:我有一个bash脚本,它创建一个csv文件和一个R文件,它从中创建图形。在bash脚本结束时,我调用RscriptGraphs.R10我得到的回复如下:Errorinis.vector(X):subscriptoutofboundsCalls:prin 查看详情

函数内部 sed 命令中的 bash 语法错误,在命令行上工作正常

...mmandline【发布时间】:2013-11-2100:35:20【问题描述】:我有一个带有两个函数的bash脚本,一个是包含一个case命令的main函数,该case命令将调用第二个函数并传递一个特定的参数。在第二个函数中,我有一个在命令行上运行的命令 查看详情

Bash 脚本无法识别命令行参数? [复制]

...kproj.shhello但是当我在脚本中放置echo"$1"时,我的脚本返回一个空值$1。我不确定为什 查看详情

带有 bash 功能的“git bisect run”

...:2021-06-1405:12:34【问题描述】:有没有一种方便的方法来编写一个bash脚本来运行gitbisectrun,其中使用的bisect命令本身就是一个bash函数?如果我的函数名为step,则gitbisectrunstep和gitbisectrunbash-cstep似乎都无法看到该函数 查看详情

随机单词 Bash 脚本,如果提供一个数字作为第一个命令行参数,那么它将仅从具有那么多字符的单词中选择

】随机单词Bash脚本,如果提供一个数字作为第一个命令行参数,那么它将仅从具有那么多字符的单词中选择【英文标题】:RandomwordBashscriptifanumberissuppliedasthefirstcommandlineargumentthenitwillselectfromonlywordswiththatmanycharacters【发布时间】... 查看详情

linux下python脚本编写的&amp;quot;奇技淫巧&amp;quot;

...n不支持switch。所以很麻烦,其实,我们可以通过argparse来编写说明文档。我们来看看怎么执行一个python脚本对于熟悉Linux的小伙伴下面的文档在熟悉不过了,这个一个标准Linxu软件包的说明文档,文档中定义是软件包的说明来看... 查看详情

当它从命令行 bash 工作时,无法从 crontab 运行 bash 脚本

...dlinebash【发布时间】:2014-12-1907:10:08【问题描述】:我有一个奇怪的问题,即能够从命令行运行bash脚本,但不能从root的crontab条目运行。我正在运行Ubuntu12.04。****1-5root/home/xxxxxx/ 查看详情

如何处理 mongo 脚本中的命令行参数?

...pt?【发布时间】:2014-08-1216:28:18【问题描述】:我一直在编写一些简单的脚本,以便从bash命令行在mongo上运行。最初,我按如下方式运行它们:$mongodbnamescript.js但我最近遇到了mikemaccana的回答https://***.com/a/23909 查看详情

bash入门教程10-处理用户输入

...输入的参数,将Bash和GCC联合调试,这是linux工程师必备的一个能力。$./shawn1030??这是一个很典型的例子,后面两个就是传入bash的命令行参数。bashshell会将一些成为位置参数的特殊变量来分配给命令行输入,其中$1就是第一个参数... 查看详情

:构建基本脚本(代码片段)

...#Thisscriptdisplaysthedaeandwho'sloggedondatewho要让shell找到自己编写的脚本并顺利运行,则需要采取以下措施将shell脚本文件所处的目录添加到PATH环境变量中在提示符中用绝对路径或相对文件路径来引用shell脚本修改自己编写的shell... 查看详情