私は2つのexpectコマンドを持っていますが、私はその展開について理解していません。このコマンドで(文脈では、私が指定したディレクトリ内のすべてのログファイルのダウンロードや、ブランク、サーバーに接続するスクリプトを持っている。)Bashはアスタリスク*のエスケープを期待していますか?
expect -c "
set timeout 1
spawn scp [email protected]:/logdir/\*.log .
expect yes/no { send yes\n ; exp_continue }
expect password: { send $pass\n }
expect 100%
sleep 1
exit
";
、ということを意味し、どのspawn scp [email protected]:/logdir/*.log .
として生み出されたコマンドが表示さを期待する\取り除かれた。このコマンドで
expect -c "
set timeout 1
spawn ssh [email protected] {echo '' | tee /logdir/\*.log > /dev/null}
expect yes/no { send yes\n ; exp_continue }
expect password: { send $pass\n }
expect eof
";
は、\があったことを意味し
spawn ssh [email protected] echo '' | tee /logdir/\*.log > /dev/null
として生成されたコマンドが
削除されませんディスプレイを期待しています。なぜ違うのですか? (
tee /logdir/*.log
のようにアスタリスクをエスケープしないとうまくいきますが、上記の場合とは何か違うことは分かりません)
回答があなたの問題を解決するのに役立ちましたか? – pynexj
おっと、私は今までこの質問を忘れていました。うん、それは私の問題、おかげで私を助けた! – Eric