2016-11-12 3 views
2

Я бегом приложения от Баша, как этогопространства в качестве параметра для программирования с Баша

./app_name var1 var2 $var3 

var3 где находится --a b, --c d и где b и d не содержат пробела.

Теперь я хочу добавить параметр, --e f, в $var3, но f содержит пробелы. Проблема в том, что я пытаюсь избежать изменений в этой строке.

./app_name var1 var2 $var3 

Если я оставлю это так, app_name понимает две части f как два различных аргументов, и, таким образом, он не может разобрать.

Могу ли я изменить var3 так, чтобы он не разбивал f как два разных аргумента? Я попытался помещать кавычки внутрь, избегая пространства, но это не помогло.

+1

META: Попробуйте использовать '' для вашего кода и параметров. Это упростит чтение ваших вопросов. –

ответ

6

Вы можете добиться того, что путь var3 массива, например:

var3=(--a b --c d --e "f1 f2") 

./app_name var1 var2 "${var3[@]}" 

Этого пути f1 f2 будет рассматриваться как один аргумент.

 Смежные вопросы

  • Нет связанных вопросов^_^