Difference between “$@” and “$*” when passing arguments to bash function
本问题已经有最佳答案,请猛点这里访问。
我很难理解在将
以下是示例:
1 2 3 4 5 6 7 8 9 10 11 | function a { echo"-$1-""-$2-""-$3-"; } function b { a"$@" } function c { a"$*" } |
如果呼叫:
1 | $ b"hello world""bye world""xxx" |
它打印:
1 | -hello world- -bye world- -xxx- |
如果呼叫:
1 | $ c"hello world""bye world""xxx" |
它打印:
1 2 | $ c"hello world""bye world""xxx" -hello world bye world xxx- -- -- |
发生了什么事?我不明白区别和哪里出了问题。