Разница между $ * и $ @ [дубликат]

Возможный дубликат:
Какая разница между «$ @» и «$ *» в bash?

В течение многих лет и в десятки раз я колебался между использованием$* а также$@ в сценариях оболочки. Прочитав соответствующий раздел руководства Bash снова и снова, попробовав оба$* а также$@Я более или менее совершенно не понимаю практической разницы в применении двух переменных. Можете ли вы просветить меня, пожалуйста?

Я использую$* недавно, но не спрашивайте меня, почему. Я не знаю почему, потому что я не знаю почему$@ даже существует, за исключением как почти точный синоним$*.

Есть ли практическая разница?

(Лично я склонен использовать Bash, но остаюсь агностиком в отношении выбора оболочки. Насколько я знаю, мой вопрос не относится к Bash).