私は私のホストコンピュータに私のリモートサーバーから複数のファイルを取得するために、この小さなスクリプトを書いた:spawnコマンドのexpectプログラムに複数の行を書き込むにはどうすればよいですか?
#! /usr/bin/expect -f
spawn scp \
[email protected]:/home/user/{A.txt,B.txt} \
/home/user/Documents
expect "password: "
send "somesecretpwd\r"
interact
これは正常に動作しているが、私はこのようなファイルの間に新しい行を作りたいとき:
[email protected]:/home/user/{A.txt,\
B.txt} \
私は次のようなエラー(s)は取得しています:
012:scp: /home/user/{A.txt,: No such file or directory
scp: B.txt}: No such file or directory
を私はこれを試してみました
[email protected]:"/home/user/{A.txt,\
B.txt}" \
取得:
bash: -c: line 0: unexpected EOF while looking for matching `"'
bash: -c: line 1: syntax error: unexpected end of file
cp: cannot stat 'B.txt}"': No such file or directory
またはこの:
"[email protected]:/home/user/{A.txt,\
B.txt}" \
を先頭に同じエラーを取得。
複数の行にファイルを書き込むことはできますが、プログラムが正しく動作するようにするにはどうすればよいですか?選択したファイルを読みやすくするために必要です。
私は 'sshpass'を使用することをお勧め:ここ
コードがあります。 – Cyrus
'sshpass 'の私の問題は、マルチホップのために複雑な引数を渡さなければならないということです(私は少なくとも2回sshを2回使用する必要があります)。 – PiMathCLanguage