有些手机没有scp命令行,考虑到我们在脚本中常常需要使用scp来复制文件,于是写个脚本代替scp:
1 scp_from(){ 2 local rfile=${1##*:} 3 local remote=${1%%:*} 4 local lfile=$2 5 local args=${@:3} 6 echo "ssh $args $remote "cat $rfile" | cat >$lfile" 7 ssh $args $remote "cat $rfile" | cat >$lfile 8 } 9 10 scp_to(){ 11 local lfile=$1 12 local rfile=${2##*:} 13 local remote=${2%%:*} 14 local args=${@:3} 15 echo "cat $lfile | ssh $args $remote "cat >$rfile"" 16 cat $lfile | ssh $args $remote "cat >$rfile" 17 } 18 19 #------------------------------------------------------------------------------- 20 # Shell模拟scp执行,以合适于Android设备无scp情形 21 # $1 - 文件, 如 aaa 22 # $2 - 文件, 如 root@11.11.139.149:/sdcard/aaa 23 # ${@:3} - ssh 其他参数, 如 -p 3322 24 #------------------------------------------------------------------------------- 25 scp(){ 26 if echo $1|grep -q ':'; then 27 scp_from "$@" 28 else 29 scp_to "$@" 30 fi 31 } 32 33 scp aaa root@11.11.139.149:/sdcard/aaa -p 3322 34 scp root@11.11.139.149:/sdcard/bbb bbb -p 3322