解析/传递命令行参数到bash脚本 – “$@”和“$*”之间有什么区别?

前端之家收集整理的这篇文章主要介绍了解析/传递命令行参数到bash脚本 – “$@”和“$*”之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用bash脚本从任何位置调用和执行.jar文件,而不必经常输入其显式路径.

.jar需要在执行时指定其他变量参数,因为它们可以是任何东西,它们不能硬编码到脚本中.

共有3个变量,第一个指定.jar要执行的2个操作中的1个,第二个指定要执行此操作的目标文件,第三个指定操作要创建的文件名称.

我目前使用的脚本是:

#!/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”,您似乎不需要.

没有引号,没有区别,它们都对应$1 $2 $3等.

原文链接:https://www.f2er.com/bash/385103.html

猜你在找的Bash相关文章