Вызов сценария оболочки с аргументами командной строки, содержащими пробелы, обычно решается заключением аргумента в кавычки:
getParams.sh 'one two' 'foo bar'
Производит:
one two
foo bar
getParams.sh:
while [[ $# > 0 ]]
do
echo $1
shift
done
Однако, если переменная оболочки сначала определена для хранения значения аргументов, таких как:
args="'one two' 'foo bar'"
тогда почему:
getParams.sh $args
не распознаете одинарные кавычки, включающие сгруппированные аргументы? Выход:
'one
two'
'three
four'
Как сохранить аргументы командной строки, содержащие пробелы, в переменной, чтобы при вызове getParams аргументы группировались в соответствии с аргументами в кавычках, как в исходном примере?