Переменная окружения, которая содержит пробелы, не может быть использована в команде - PullRequest
0 голосов
/ 17 февраля 2020

Я установил env var, который содержит пробелы. Я могу вывести его правильно.

export dpath="/path/with/spaces/is here/clear"
echo $dpath
/path/with/spaces/is here/clear

Теперь используйте env var здесь:

sshpass -p 'xxxx' sftp -q -a -P22 -r "account@12.34.56.78:${dpath}" .
File "/path/with/spaces/is" not found.

Теперь пространство игнорируется (и разделяется). Как я могу это исправить?

1 Ответ

0 голосов
/ 17 февраля 2020

Для того, чтобы это не делилось, нам нужны кавычки. Попробуйте сохранить env var как: export dpath='"/path/with/spaces/is here/clear"'

Использовать "inside".

ИЛИ, если вы не можете сохранить экспорт var таким способом, попробуйте использовать двойные кавычки вокруг переменной в команда scp: sshpass -p 'xxxx' sftp -q -a -P22 -r account@12.34.56.78:"${dpath}" .

Надеюсь, это поможет

...