$ @在bash脚本中意味着什么?

Tor*_*ups 0 bash

我正在阅读我的.bashrc并注意到以下内容

cd "$@" && some_other_function
Run Code Online (Sandbox Code Playgroud)

$ @的意思是什么?

gee*_*aur 5

"$@"扩展为引用的命令行参数列表.它与以下内容略有不同"$*":给定

set "a b" c d
Run Code Online (Sandbox Code Playgroud)

"$*" 扩展到

"a b c d"
Run Code Online (Sandbox Code Playgroud)

"$@"扩展到

"a b" c d
Run Code Online (Sandbox Code Playgroud)

$*(或$@)扩展到

a b c d
Run Code Online (Sandbox Code Playgroud)

也就是说," $*"产生一个字符串但"$@"复制原始引​​用,$*丢失引用.