Как процитировать аргументы с пробелом в переменной внутри другой переменной? - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть скрипт, в котором мне нужно вычислить сложные аргументы, и они могут содержать пробелы. Мне нужно хранить аргументы в переменной var1, а эта переменная и другие аргументы внутри переменной var2. Я передаю var2 в качестве аргументов другому сценарию.

Пример:

$ var1="2 3 4"
$ var2="1 \"$var1\" 5"
$ ./sript.sh $var2

Теперь «2 3 4» - это не один аргумент сценария, а 3 аргумента: "2, 3 и 4". Что мне нужно, это то, что произойдет, если я позвоню ./sript.sh 1 "2 3 4" 5, но с переменной внутри переменной ...

Я пробовал все известные мне трюки с маской и кавычками, но он не работает.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы не; вы используете массив.

$ var1="2 3 4"
$ var2=(1 "$var1" 5)
$ ./script.sh "${var2[@]}"
...