Как сохранить двойные кавычки в $ @ в скрипте оболочки?

Допустим, у меня есть действительно простой скрипт оболочки 'foo':

  #!/bin/sh
  echo $@

Если я призываю это так:

  foo 1 2 3

Счастливо печатает:

  1 2 3

Однако, скажем, один из моих аргументов заключен в двойные кавычки и содержит пробелы:

  foo 1 "this arg has whitespace" 3

фу радостно печатает:

  1 this arg has whitespace 3

Двойные кавычки были удалены! Я знаю, что shell считает, что это делает мне одолжение, но ... я хотел бы получить исходную версию аргументов, беспрепятственно интерпретируемую оболочкой. Есть ли способ сделать это?

Ответы на вопрос(5)

Ваш ответ на вопрос