Wie kann ich # in meinem Expect-Escape-Code abrufen, während das Kennwort aus einer anderen Datei aufgerufen wird?

578
Arulanandam S

Ich habe ein paar Fragen zu erwarten ..

Ich verwende Expect-Skript und muss das Kennwort aus einer anderen Datei auswählen.

1) Ich bin dazu in der Lage .. aber für eine meiner Verbindungen beginnt das Passwort mit # (Rautezeichen), daher ist es ausgewählt. Ich benutze den folgenden Befehl

set pwfl [open "/tmp/test/m1"] set pw [read "$pwfl"] 

2) wie man das Format für das Datum in der Protokolldatei einstellt .. Ich verwende die folgende Datei [exec date] _log-Datei .. aber nur das Datumsformat muss geändert werden

! / usr / bin / expect -f

set pwfl1 [open "/ tmp / test / m2"] set pw1 [read "$ pwfl1"] set pwfl3 [open "/ tmp / test / m4"] set pw3 [read "$ pwfl2"] Protokolldatei [Ausführungsdatum] _Ext_Push_FTP .log spawn sftp -v -o Port = 122 -o IdentityFile = / tmp / test / SSH_PrivateKey_SFTPTesting.openssh -o PasswordAuthentication = yes t_rt_ext_push_sftppak_p @ ************ Zeitüberschreitung einstellen Schlüssel '/tmp/test/SSH_PrivateKey_SFTPTesting.openssh': " Zeitlimit setzen 30 erwartet" t_rt_ext_push_sftppak_p @ e ******** Kennwort: " Expect" sftp> " Expect" sftp> " Erwarte "sftp>"

0

1 Antwort auf die Frage

0
glenn jackman
  1. Ich sehe nicht, dass Sie ein Problem beschreiben. Gibt es einen Fehler?

  2. Verwenden Sie den eingebauten timestampBefehl von Expect :

    set log_file [timestamp -format {%Y%m%d_log.file}] ;# => 20170714_log.file 
Ich bin eher besorgt über die erste Frage. Können Sie mir dabei helfen? Arulanandam S vor 6 Jahren 0
was ist die Frage? Sie sagen nicht, welches Problem Sie haben. glenn jackman vor 6 Jahren 0
Ich muss ausführt, ohne das Passwort für andere anzuzeigen. Deshalb lese ich das Passwort aus einer anderen Datei .. da das Passwort mit # beginnt, funktioniert es nicht Arulanandam S vor 6 Jahren 0
Weitere Details a.txt ist die Datei mit dem Kennwort. Ich muss die Datei für das Kennwort lesen und dann eingeben. Das Kennwort beginnt jedoch mit #. Arulanandam S vor 6 Jahren 0
wie man ASCII-Zeichen an die erwartete Datei sendet .. Arulanandam S vor 6 Jahren 0
Der Code, den Sie gezeigt haben, enthält absolut nichts, was ein Problem beim Lesen des Zeichens # aus einer Datei bedeuten würde. Was passiert, wenn Sie "> $ pw <" `` setzen? Eine Sache, die Sie möglicherweise haben, ist, dass der Pw-Befehl möglicherweise mit einem Zeilenvorschubzeichen versehen ist (abhängig davon, wie Sie die PW-Datei erstellt haben). Möglicherweise möchten Sie pw [read -nonewline $ pwfl] `einstellen glenn jackman vor 6 Jahren 0