Re: [问题] 用expect, ssh 在两server传值

楼主: drag (京都念慈庵,贾诩念费翔)   2013-01-25 16:52:42
※ 引述《imio24 (imio)》之铭言:
: 感谢感谢
: 再问一下
: 如果我想要在 expect -c '...'这一行用 awk '{ print $(0) }' 如 send "uname -a | cut -d " " -f1 | awk '{ print $(0) }'"
: awk 后面的 ' strong quote 要如何表示?
: : #!/bin/sh
: : export ip=$1
: : export usr=$2
: : export passwd=$3
: : export rport=$4
: : export a=""
: : export a=`expect -c 'spawn ssh -p '$rport' '$usr'@'$ip'; expect password; \
: : send "'$passwd'\n" ; expect "* #" ; send "uname -a\n" ; send "exit\n" ; \
: : interact'|grep "Linux "`
: : echo "B server version: " $a
那....把最后一行改成下面两行
echo $a|cut -d " " -f1 > temp.log
awk '{ print $(0) }' temp.log
应该可以吧?
作者: imio24 (imio)   2013-01-26 17:02:00
其实我是想把全部写一起但 awk '..'包expect -c '里会有unexpected '{ error
楼主: drag (京都念慈庵,贾诩念费翔)   2013-01-28 10:04:00
这边我不懂了,也许 用 \' 会有用?另,请问已经cut完毕,为何还要awk '{print $(0)}' ??
作者: imio24 (imio)   2013-01-28 12:38:00
我也是试过用\'也不行 其实我需把他全换成uppercase虽然用tr 解决了,不过还是想知道遇到'要怎么用

Links booklink

Contact Us: admin [ a t ] ucptt.com