bash中"$*"的一些用例是什么?

Dee*_*pak 2 parameters bash arguments command-line-arguments

从bash手册页:

"$*"等价于"$1c$2c...",变量c值的第一个字符IFS.

"$@"相当于"$1" "$2"......

任何"$@"无法代替的例子"$*"

koj*_*iro 5

我最喜欢的用途是替换字段分隔符.

$ set -- 'My word' but this is a bad 'example!'
$ IFS=,
$ echo "$*"
My word,but,this,is,a,bad,example!
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以替换分隔符,但IFS "$*"通常是最简单的方法之一.

  • 确实.我经常使用`printf -v output'%s','$ @"`来执行相同的任务,但这会留下一个需要被剥离的尾随`,````output = $ {output%,}`它的工作,这不是很漂亮). (2认同)