解析/传递命令行参数到bash脚本 – “$@”和“$*”之间有什么区
发布时间:2020-12-15 18:24:45 所属栏目:安全 来源:网络整理
导读:我正在使用bash脚本从任何位置调用和执行.jar文件,而不必经常输入其显式路径. .jar需要在执行时指定其他变量参数,因为它们可以是任何东西,它们不能硬编码到脚本中. 共有3个变量,第一个指定.jar要执行的2个操作中的1个,第二个指定要执行此操作的目标文件,第三
我正在使用bash脚本从任何位置调用和执行.jar文件,而不必经常输入其显式路径.
.jar需要在执行时指定其他变量参数,因为它们可以是任何东西,它们不能硬编码到脚本中. 共有3个变量,第一个指定.jar要执行的2个操作中的1个,第二个指定要执行此操作的目标文件,第三个指定操作要创建的文件的名称. 我目前使用的脚本是: #!/bin/bash java -jar "C:pathtofile.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等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读