1

次のスクリプトが機能しています。コマンドsend -- "/system identity print\r"実行結果をファイルに保存したいのですが、書き方が悪いのでしょう。現時点では、ファイル tmp へのパスしか書き込めません。

#!/bin/bash
HOSTNAME="xx.xx.xx.xx"
PORT="22422"
USER="admin"
PASS="pass"
TMP=$(mktemp)
PATH="/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin"

# Create Expect script
cat > $TMP << EOF
#exp_internal 1 # Uncomment for debug
set timeout -1
spawn ssh -p$PORT $USER@$HOSTNAME
match_max 100000
expect -exact "password:"
send -- "$PASS\r"
expect " > "
$nazwa send -- "/system identity print\r"
expect " > "
send -- "quit\r"
expect eof
EOF

# Run Expect script
#cat $TMP # Uncomment for debug
expect -f $TMP
echo $TMP >> log.log
# remove expect script
rm $TMP
4

1 に答える 1

-1

あなたは実際にスクリプトを開発しているので、exp_internal 1Expect に助けてもらうためにコメントを外してください。

于 2013-01-23T14:26:41.523 に答える