Sub*_*ner 8 unix linux bash shell special-characters
$*shell脚本中的确切含义是什么?
例如,请考虑以下代码段
$JAVA_HOME/bin/java/com/test/Testclass $*
Run Code Online (Sandbox Code Playgroud)
$*扩展到传递给该 shell 脚本的所有参数。
$0= shell脚本的名称
$1= 第一个参数
$2= 第二个参数...等
$#= 传递给 shellscript 的参数数量
它表示传递给脚本或函数的所有参数,按字分割.
它通常是错误的,应该被替换为"$@",它正确地分隔了参数.
你自己很容易找到答案:man bash→ /\$\*:
特殊参数
shell专门处理几个参数.这些参数只能被引用; 不允许分配给他们.
- 从1开始扩展到位置参数.当扩展发生在双引号内时,它会扩展为单个单词,每个参数的值由
IFS特殊变量的第一个字符分隔.也就是说,"$*"等价于"$1c$2c...",变量c值的第一个字符在哪里IFS.如果IFS未设置,则参数由空格分隔.如果IFS为null,则在不插入分隔符的情况下连接参数.
| 归档时间: |
|
| 查看次数: |
8252 次 |
| 最近记录: |