我正在使用bash脚本从任何位置调用和执行.jar文件,而不必经常输入其显式路径.
.jar需要在执行时指定其他变量参数,因为它们可以是任何东西,它们不能硬编码到脚本中.
共有3个变量,第一个指定.jar要执行的2个操作中的1个,第二个指定要执行此操作的目标文件,第三个指定操作要创建的文件的名称.
我目前使用的脚本是:
@H_301_7@#!/bin/bash java -jar "C:\path\to\file.jar" "$1" "$2" "$3"我对bash脚本编程知之甚少,但在寻找我的困境的另一个答案(现在修复)时,我在引用命令行参数时遇到了“$@”和“$*”.进行更多搜索将我带到了这个网站:How To Wiki: How to read command line arguments in a bash script,但是我无法找到任何有关这些参数的可靠信息,而无需涉及大量高级bash编程.
所以现在我已经永远漫步,我的问题相对简单:
我可以用“$@”或“$*”替换“$1”“$2”“$3”,如果是,哪个更好用?
那些命令之间的区别是什么?
“$@”对应于“$1”“$2”“$3”等.“$*”对应于“$1 $2 $3”,您似乎不需要.
原文链接:https://www.f2er.com/bash/385103.html没有引号,没有区别,它们都对应$1 $2 $3等.