我正在阅读我的.bashrc并注意到以下内容
cd "$@" && some_other_function
Run Code Online (Sandbox Code Playgroud)
$ @的意思是什么?
"$@"扩展为引用的命令行参数列表.它与以下内容略有不同"$*":给定
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)
也就是说," $*"产生一个字符串但"$@"复制原始引用,$*丢失引用.