Esc*_*ngs 8 bash arguments argument-passing command-line-arguments command-line-parsing
我正在使用bash脚本.jar
从任何位置调用和执行文件,而不必经常输入其显式路径.
该.jar
要求在执行中指定的其他变量参数,因为这些可以是任何东西,他们不能被硬编码到脚本.
共有3个变量,第一个指定要执行的2个操作中的1个.jar
,第二个指定要执行此操作的目标文件,第三个指定操作要创建的文件的名称.
我目前使用的脚本是:
#!/bin/bash
java -jar "C:\path\to\file.jar" "$1" "$2" "$3"
Run Code Online (Sandbox Code Playgroud)
我不是很了解的bash脚本,但在寻找另一种答案我的困境(现已修复),我碰到"$@"
和"$*"
引用命令行参数的时候.做更多搜索带我到这个网站:如何维基:如何在bash脚本中读取命令行参数,但我无法找到任何有关这些参数的可靠信息,而无需通过大量的高级bash编程我的头.
所以现在我已经永远漫步,我的问题相对简单:
我可以"$1" "$2" "$3"
用"$@"
或替换"$*"
,如果是,哪个更好用?
那些命令之间的区别是什么?