Возьмите этот маленький пример:Баш Престола в новой линии
#!/bin/bash -x
myvar="\"Hello Stackoverflow\""
ping $myvar
Результатом этого является то, что все команды (пинг только для примера здесь) будет автоматически видеть пробелы между «Hello» и «Stackoverflow» как возврат новой линии или карри.
# ./test.sh
+ myvar='"Hello Stakeoverflow"'
+ ping '"Hello' 'Stakeoverflow"'
ping: unknown host "Hello
Есть ли способ обойти это?
Игнорируйте использование ping, я понимаю, что вы не можете пинговать слова, его просто полезно привести пример о том, как обрабатываются переменные при представлении в качестве аргумента команды оболочки, и поэтому мне нужна ошибка, чтобы показать это.
Большое спасибо за нашли время, чтобы очертить все это для меня. Двойное цитирование переменной выполнило задание! – devnull