61 lines
1.5 KiB
Plaintext
61 lines
1.5 KiB
Plaintext
|
#!/bin/bash
|
||
|
# E.G : ./vlctest "enqueue tst.mp4" pause "seek 0" play
|
||
|
|
||
|
# Parse options
|
||
|
|
||
|
h_set=0
|
||
|
#~ s_set=0
|
||
|
#~ d_set=0
|
||
|
while getopts "h:" OPT; do
|
||
|
case "$OPT" in
|
||
|
h)
|
||
|
echo "Sending to ${OPTARG}"
|
||
|
h_set=1
|
||
|
ADDRESSES=("${OPTARG}")
|
||
|
shift $((OPTIND-1))
|
||
|
CMDS="$*"
|
||
|
;;
|
||
|
#~ c)
|
||
|
#~ c_set=1
|
||
|
#~ CMDS=("${OPTARG}")
|
||
|
#~ s) s_set=1;;
|
||
|
#~ d) d_set=1;;
|
||
|
*) # getopts produces error
|
||
|
exit 1;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
# If no host provided, use all by default
|
||
|
#~ if ((!h_set && OPTIND>$#)) ; then
|
||
|
if ((!h_set)) ; then
|
||
|
echo "Sending to all hosts"
|
||
|
# RPIs wlan adresses
|
||
|
ADDRESSES=("10.42.0.1" "10.42.0.135" "10.42.0.142")
|
||
|
CMDS="$*"
|
||
|
echo ${ADDRESSES[@]}
|
||
|
fi
|
||
|
# Split str into args
|
||
|
readarray -d "+" -t CMDAR <<< "$CMDS"
|
||
|
echo ${CMDAR[@]}
|
||
|
|
||
|
# Telnet password
|
||
|
PASSWD="secret"
|
||
|
|
||
|
# Send commands
|
||
|
for ADDR in ${ADDRESSES[@]}
|
||
|
do
|
||
|
echo "Sending command $1 and $2 to $ADDR..."
|
||
|
echo -e "$PASSWD\n${CMDAR[0]}\n${CMDAR[1]}" | nc "$ADDR" 9999 -w 5 &
|
||
|
#~ echo -e "$PASSWD\n$1\n$2" | nc "$ADDR" 9999 -w 5 &
|
||
|
# echo -e "$PASSWD\n$1\n$2" | nc "$ADDR" 9999 -w 5 | sed '/Welcome/d;/VLC/d;/Password/d;' &
|
||
|
# echo -e "$PASSWD\n$1\n$2" | nc "$ADDR" 9999 > /dev/null &
|
||
|
done
|
||
|
sleep 1
|
||
|
for ADDR in ${ADDRESSES[@]}
|
||
|
do
|
||
|
echo "Sending command ${CMDAR[2]} and ${CMDAR[3]} to $ADDR..."
|
||
|
echo -e "$PASSWD\n${CMDAR[2]}\n${CMDAR[3]}" | nc "$ADDR" 9999 > /dev/null &
|
||
|
#~ echo "Sending command $3 and $4} to $ADDR..."
|
||
|
#~ echo -e "$PASSWD\n$2\n$4" | nc "$ADDR" 9999 > /dev/null &
|
||
|
done
|