@@ -14,6 +14,7 @@ show(){
14
14
xargs -n1 echo $rxs : |
15
15
cat
16
16
done
17
+ exit 0
17
18
}
18
19
# r=aa; x=(bb cc); s=(dd ee); show r x s; exit
19
20
@@ -28,23 +29,27 @@ parse_args(){
28
29
args+=(" $i " )
29
30
fi
30
31
done
31
- # echo IS_DELETE: ,$IS_DELETE,;echo IS_DRY: ,$IS_DRY,;exit
32
- # for i in "${args[@]}"; do echo $i;done;exit
32
+ # show IS_DELETE IS_DRY args
33
33
34
34
for(( i = 1 ; i < ${# args[@]} ; i++ )) ; do
35
35
if [[ ${args[$i-1]} =~ ^-[^-]* r$ ]]; then # -r
36
- ssh=$( ssh -v ${args[$i]} true 2>&1 ) &&
37
- break || { echo error: ssh failed; exit 1; }
36
+ rhost=${args[$i]}
37
+ break
38
+ # ssh=$(ssh -v ${args[$i]} true 2>&1) &&
39
+ # break || { echo error: ssh failed; exit 1; }
38
40
fi
39
41
done
40
42
# echo "$ssh";exit
43
+ # show rhost
41
44
42
- ruser=$( echo " $ssh " | grep ' Authenticating' | awk -F\' ' $0=$2' )
43
- rip=$( echo " $ssh " | grep ' Authenticated' | awk -F' [][]' ' $0=$2' )
44
- rport=$( echo " $ssh " | grep ' Authenticated' | awk -F' [])]' ' $0=$2' )
45
- # args[$i]=$ruser@$rip$rport
46
-
47
- # show args;exit
45
+ while [[ ! -z $rhost ]]; do
46
+ ssh=$( ssh -v $rhost true 2>&1 | tr -d ' \r' ) ||
47
+ { echo error: ssh $rhost failed; exit 1; }
48
+ rhost=$( echo " $ssh " | awk ' /Executing proxy command:/{print $(NF)}' )
49
+ done
50
+ rhost=$( echo " $ssh " | awk -F' [][]' ' /Authenticated/{print $2}' )
51
+ rip=$( dig +short $rhost | head -n1)
52
+ # show rhost rip
48
53
}
49
54
50
55
set_xs (){
@@ -58,7 +63,7 @@ set_xs(){
58
63
fi
59
64
fi
60
65
done
61
- # show x s;exit # 8.8.8.8[/24]
66
+ # show x s # 8.8.8.8[/24]
62
67
63
68
f () {
64
69
for i in " $@ " ; do # 8.8.8.8[/24]
@@ -75,19 +80,19 @@ set_xs(){
75
80
}
76
81
x=( $( f " ${x[@]} " ) )
77
82
s=( $( f " ${s[@]} " ) )
78
- # show x s; exit # 8.8.8.0/255.255.255.0
83
+ # show x s # 8.8.8.0/255.255.255.0
79
84
80
85
s=($(
81
86
echo " ${s[@]} " |
82
87
sed ' s,0.0.0.0/0.0.0.0,0.0.0.0/128.0.0.0 128.0.0.0/128.0.0.0,g'
83
88
) )
84
- # show s; exit
89
+ # show s
85
90
86
91
x=( $( echo " ${x[@]} " | xargs -n1 | sort -u) )
87
92
s=( $( echo " ${s[@]} " | xargs -n1 | sort -u) )
88
- # show x s; exit # uniq
93
+ # show x s # uniq
89
94
90
- # show x s; exit
95
+ # show x s
91
96
}
92
97
93
98
set_env (){
@@ -101,11 +106,7 @@ set_env(){
101
106
WIN_IFIP=$( route.exe print -4 | awk ' $1=="0.0.0.0"{print $4}' )
102
107
WIN_IFID=$( arp.exe -a | grep " ^I.*: $WIN_IFIP " | awk ' $0=strtonum($4)' )
103
108
104
- # echo WSL2_IP: $WSL2_IP
105
- # echo WIN_VIFID: $WIN_VIFID
106
- # echo GW_IP: $GW_IP
107
- # echo WIN_IFID: $WIN_IFID
108
- # exit
109
+ # show WSL2_IP WIN_VIFID GW_IP WIN_IFID
109
110
}
110
111
111
112
route_add (){
0 commit comments