0
私はこのスクリプトを持っています。Linuxが期待しています。 "log_user 0"で最初の空白行を削除するには?
"log_user 0"はパスワードを尋ねませんが、空白の行は残ります。 この空白行を削除したいと思います。
スクリプト:実行の
#!/usr/bin/expect
log_user 0
set timeout 10
if {[llength $argv] == 0} {
send_user "Usage: sshpwd \'password\' ssh ...\n"
exit 1
}
set cmd [lrange $argv 1 end]
set pwd [lindex $argv 0]
eval spawn $cmd
expect {
"*yes/no*" { send "yes\r" ; exp_continue }
"*assword:" { send "$pwd\r"; interact; }
}
例(123前空行):スクリプトで
[email protected]:~$ ./sshpwd.exp password ssh [email protected] "(echo \"123\") && date '+%Y.%m.%d' && echo [TEST]"
123
2016.04.06
[TEST]
例私は、文字列を削除した場合、実行の "LOG_USER 0"(なし空欄123より前の行に 'spawn ...'、 'passw ...'がある):
[email protected]:~$ ./sshpwd.exp password ssh [email protected] "(echo \"123\") && date '+%Y.%m.%d' && echo [TEST]"
spawn ssh [email protected] (echo "123") && date '+%Y.%m.%d' && echo [TEST]
[email protected]'s password:
123
2016.04.06
[TEST]
私はこの出力を見てみたい:
[email protected]:~$ ./sshpwd.exp password ssh [email protected] "(echo \"123\") && date '+%Y.%m.%d' && echo [TEST]"
123
2016.04.06
[TEST]
ありません。私はsed '1 d'でスクリプトを書きました。 –