0

我设置了一个包含空格的环境变量。我可以正确输出。

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

现在在这里使用环境变量:

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

现在空间被忽略(并拆分)。我怎样才能解决这个问题?

4

1 回答 1

0

为了能够使它不分裂,我们需要引号。尝试将环境变量存储为: export dpath='"/path/with/spaces/is here/clear"'

使用“内”。

或者,如果您不能以这种方式存储 export var,请尝试在 scp 命令中使用双引号将变量括起来: sshpass -p 'xxxx' sftp -q -a -P22 -r account@12.34.56.78:"${dpath}" .

希望这可以帮助

于 2020-02-17T12:32:31.997 回答