bash
スクリプトを使用してリモートサーバーにパスワードを送信しようとしています。これは、パスワードをより複雑なパスワードに変更する必要があり、新しいパスワードの1つに$
文字(つまり[email protected]$sw0rd
)が含まれるまでうまくいきました。私が働いなくなったスニペットが含まれている
:
password="'[email protected]$sw0rd'"
spawn ssh "[email protected]$device"
expect {
"*no)?" {send "yes\r"}
"*assword:" {send "$password\r"}
"*assword:" {send "$password\r"}
}
それはパスワードを送信するたびに、リモートシステムが変数$sw0rd
を見つけようとします。
私はこの問題は、パスワード自体で$
文字であるが、$
文字が含まれていないものに私たちのリモートサーバーのすべてに、この1つのパスワードを変更せずにこれを行う方法があります知っていますか?
私は$
文字を格納するためのさまざまな方法を試してみました。これらの
password='[email protected]$sw0rd'
[email protected]$sw0rd
password="'[email protected]\$sw0rd'"
password="[email protected]\$sw0rd"
password='[email protected]\$sw0rd'
[email protected]\$sw0rd
どれも働いていません。
お願いします。
**リモートシステム**の問題のような音** –
もっとコードを含めることはできますか?あなたのコードが実際には 'password ="何であれ ";期待する<< eof; ssh "$ deviceType @ $ device"を生成します。 ...;それが大きな違いになります。現在のところ、コードは部分的にBashで部分的にTCLであるため、実行可能ではないか、問題の代表ではありません。 –