Linux
scp遠端文件到本地機器
作為腳本的一部分,我正在嘗試從遠端站點複製文件。但是遇到了錯誤。對我來說這聽起來有點奇怪,因為一切聽起來都不錯:
#aaa="/path/to/some file with spaces(and brackets).txt" .... #scp user@example.com:"$aaa" /test/ bash: -c: line 0: syntax error near unexpected token `(' bash: -c: line 0: `scp -f /path/to/some file with spaces.txt'
更新:括號問題…
您需要轉義每個空格和括號:
#!/bin/bash aaa='/path/to/some\ file\ with\ spaces\(and brackets\).txt' scp user@example.com:"$aaa" /test/
順便說一句,
$aaa
除了雙引號之外,更友好的選擇是用單引號括起來:#!/bin/bash aaa='/path/to/some file with spaces(and brackets).txt' scp user@example.com:"'$aaa'" /test/
下面為我工作。我認為你只需要轉義空格、括號或其他任何東西,你應該很好。
#!/bin/bash aaa="/tmp/untitled\ text\ 2.txt" scp -r user@example.com:"$aaa" .