101 lines
2.8 KiB
Bash
101 lines
2.8 KiB
Bash
#!/bin/bash
|
|
|
|
launch_file=$1
|
|
docker_ssh=$2
|
|
|
|
GAZEBO_IP=`ifconfig $3 |grep "inet "| cut -f 2 -d ":"|cut -f 1 -d " "`
|
|
|
|
group_count=0
|
|
|
|
file=envfile
|
|
if [ -f $file ]
|
|
then
|
|
`rm -rf $file`
|
|
fi
|
|
`touch $file`
|
|
|
|
group="ns="
|
|
port="htonsnumber"
|
|
x="name=\"x\""
|
|
y="name=\"y\""
|
|
x_diff="name=\"X_DIFF\""
|
|
y_diff="name=\"Y_DIFF\""
|
|
|
|
while read line
|
|
do
|
|
if [[ $line =~ $group ]]
|
|
then
|
|
let group_count=$group_count+1
|
|
temp=${line#*\"}
|
|
echo "GAZEBO_IP:$GAZEBO_IP" >> $file
|
|
echo "NAMESPACE:${temp%\"*}" >> $file
|
|
fi
|
|
|
|
if [[ $line =~ $port ]]
|
|
then
|
|
temp=${line%\"*}
|
|
echo "SOCKET_PORT:${temp##*\"}" >> $file
|
|
fi
|
|
|
|
if [[ $line =~ $x ]]
|
|
then
|
|
temp=${line%\"*}
|
|
echo "START_X:${temp##*\"}" >> $file
|
|
fi
|
|
|
|
if [[ $line =~ $y ]]
|
|
then
|
|
temp=${line%\"*}
|
|
echo "START_Y:${temp##*\"}" >> $file
|
|
fi
|
|
|
|
if [[ $line =~ $x_diff ]]
|
|
then
|
|
temp=${line%\"*}
|
|
echo "X_DIFF:${temp##*\"}" >> $file
|
|
fi
|
|
|
|
if [[ $line =~ $y_diff ]]
|
|
then
|
|
temp=${line%\"*}
|
|
echo "Y_DIFF:${temp##*\"}" >> $file
|
|
fi
|
|
|
|
done < $launch_file
|
|
|
|
i=0
|
|
index=0
|
|
while read line
|
|
do
|
|
case $(($i%7)) in
|
|
0) gazebo_ip[$index]=$line;;
|
|
1) namespace[$index]=$line;;
|
|
2) socket_port[$index]=$line;;
|
|
3) x_diff[$index]=$line;;
|
|
4) y_diff[$index]=$line;;
|
|
5) start_x[$index]=$line;;
|
|
6) start_y[$index]=$line;let index++;;
|
|
esac
|
|
let i++
|
|
done < $file
|
|
|
|
#`rm $file`
|
|
|
|
for((i=0;i<index;i++))
|
|
do
|
|
`sshpass -p '123456' ssh $2 "sudo docker stop ${namespace[$i]#*:} >/dev/null 2>&1; sudo docker rm ${namespace[$i]#*:} >/dev/null 2>&1; sudo docker create --name ${namespace[$i]#*:} -e NAMESPACE=${namespace[$i]#*:} -e GAZEBO_IP=${gazebo_ip[$i]#*:} -e SOCKET_PORT=${socket_port[$i]#*:} -e START_X=${start_x[$i]#*:} -e START_Y=${start_y[$i]#*:} -e X_DIFF=${x_diff[$i]#*:} -e Y_DIFF=${y_diff[$i]#*:} $4 >/dev/null 2>&1; sudo docker start ${namespace[$i]#*:} >/dev/null 2>&1"`
|
|
# `sshpass -p '123123' ssh $2 "sudo docker rm ${namespace[$i]#*:} >/dev/null 2>&1"`
|
|
# `sshpass -p '123123' ssh $2 "sudo docker create --name ${namespace[$i]#*:} -e NAMESPACE=${namespace[$i]#*:} -e GAZEBO_IP=${gazebo_ip[$i]#*:} -e SOCKET_PORT=${socket_port[$i]#*:} -e START_X=${start_x[$i]#*:} -e START_Y=${start_y[$i]#*:} -e X_DIFF=${x_diff[$i]#*:} -e Y_DIFF=${y_diff[$i]#*:} $4 >/dev/null 2>&1"`
|
|
# `sshpass -p '123123' ssh $2 "sudo docker start ${namespace[$i]#*:} >/dev/null 2>&1"`
|
|
docker_ip[$i]=`sshpass -p '123456' ssh $2 "sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${namespace[$i]#*:}"`
|
|
|
|
export ${namespace[$i]#*:}_ip=${docker_ip[$i]}
|
|
echo "${namespace[$i]#*:} Done!!"
|
|
done
|
|
echo "All Done!!"
|
|
|
|
#source /home/zhangshuai/catkin_ws/devel/setup.bash
|
|
source /home/airc1-02/Flight_control_Comprehensive/devel/setup.bash
|
|
|
|
`roslaunch hector_quadrotor_gazebo ${launch_file##*/}`
|