118 lines
2.7 KiB
Bash
Executable File
118 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
#
|
|
# VMWare Multiple Device Tricks =)
|
|
# alias the multi-connected devices
|
|
#
|
|
# Example:
|
|
# alias adb1='adb -s 192.168.123.131'
|
|
# alias adb2='adb -s 192.168.123.132'
|
|
|
|
# allow aliases to be created in "interactive shells"
|
|
# this doesn't seem to work on OS X
|
|
shopt -s expand_aliases
|
|
|
|
PARAM1=$1
|
|
PARAM2=$2
|
|
|
|
usage() {
|
|
echo
|
|
echo " *** MUST BE SOURCED for aliases to take effect in your current shell ***"
|
|
echo
|
|
echo " source adbnet.sh 192.168.123.13"
|
|
echo " . adbnet.sh 192.168.123.12 (\".\" is same as source"
|
|
echo " xxx.xxx.xxx.xx# (remove the last digit"
|
|
echo
|
|
echo " Aliases generated:"
|
|
echo " alias adb1=\"adb -s 192.168.123.131\""
|
|
echo " alias adb2=\"adb -s 192.168.123.132\""
|
|
echo " alias adb3=\"adb -s 192.168.123.133\""
|
|
echo " alias adb4=\"adb -s 192.168.123.134\""
|
|
echo " alias adb5=\"adb -s 192.168.123.135\""
|
|
echo " alias adb6=\"adb -s 192.168.123.136\""
|
|
echo " alias adb7=\"adb -s 192.168.123.137\""
|
|
echo " alias adb8=\"adb -s 192.168.123.138\""
|
|
echo " alias adb9=\"adb -s 192.168.123.139\""
|
|
echo
|
|
echo " \"-f\": defaults to test mode for saftey, use \"-f\" to execute"
|
|
echo " . adbnet.sh 192.168.123.12 -f"
|
|
echo
|
|
|
|
# cannot exit if sourced with local environment...will exit the shell
|
|
# exit 1
|
|
}
|
|
|
|
echo_error() {
|
|
echo "***"
|
|
echo "*** ERROR: $1"
|
|
echo "***"
|
|
}
|
|
|
|
# Test an IP address for validity:
|
|
# Usage:
|
|
# valid_ip IP_ADDRESS
|
|
# if [[ $? -eq 0 ]]; then echo good; else echo bad; fi
|
|
# OR
|
|
# if valid_ip IP_ADDRESS; then echo good; else echo bad; fi
|
|
#
|
|
function valid_ip()
|
|
{
|
|
local ip=$1
|
|
local stat=1
|
|
|
|
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
|
|
OIFS=$IFS
|
|
IFS='.'
|
|
ip=($ip)
|
|
IFS=$OIFS
|
|
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \
|
|
&& ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
|
|
stat=$?
|
|
fi
|
|
return $stat
|
|
}
|
|
|
|
create_adb_aliases() {
|
|
if [[ -n $PARAM2 ]]; then
|
|
if [ $PARAM2 == "-f" ]; then
|
|
for NUM in $(seq 1 9)
|
|
do
|
|
# this will echo all commands, turn on echo
|
|
set -x
|
|
alias adb${NUM}="adb -s ${PARAM1}${NUM}"
|
|
set +x
|
|
done
|
|
else
|
|
echo_error "-f needs to be second parameter to force the execution"
|
|
fi
|
|
else
|
|
echo "*************************************"
|
|
echo " This is what will be generated:"
|
|
echo " (use \"-f\" if this is correct to force execute)"
|
|
echo "*************************************"
|
|
for NUM in $(seq 1 9)
|
|
do
|
|
echo " alias adb$NUM=\"adb -s ${PARAM1}${NUM}\""
|
|
done
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
main () {
|
|
if [[ -n $PARAM1 ]]; then
|
|
if valid_ip $PARAM1; then
|
|
create_adb_aliases
|
|
else
|
|
echo_error "not a valid IP address"
|
|
fi
|
|
else
|
|
usage
|
|
fi
|
|
}
|
|
|
|
|
|
main
|
|
|
|
|