OS/macOS

[OS/macOS] remote 서버 접근 ip 저장 script (vmgmt)

bbugge 2021. 6. 18. 12:52

// echo "alias vmgmt='/원하는 디렉토리/vmgmt.sh" >> ~/.zshrc

# vmgmt.sh
# 원하는 위치에 script를 놓고 사용한다.
SCRIPT_DIR=/원하는 디렉토리

COMMAND=$1

if [ -z $COMMAND ];
then
echo 'ERROR : Please input your command'
else
if [ "$COMMAND" = "help" ];
then
echo 'vmgmt option [param]'
echo 'option : [ init / ls / mk / rm / help ]'
elif [ "$COMMAND" = "init" ];
then
echo '###########################################\n################# My VM ###################\n###########################################' > remote_vmaddr.txt
elif [ "$COMMAND" =  "ls" ];
then
if [ -z "$2" ]
then
cat $HOME/scripts/remote_vmaddr.txt && echo '###########################################'
else
IPADDR=`cat $SCRIPT_DIR/remote_vmaddr.txt | grep $2 | awk -F ':' '{print $2}'`
echo $IPADDR
fi

elif [ "$COMMAND" =  "mk" ];
then
if [ -z "$2" ];
then
echo 'ERROR : Please input vm information.'
else
echo $2 >> $SCRIPT_DIR/remote_vmaddr.txt
fi

elif [ "$COMMAND" =  "rm" ];
then
if [ -z "$2" ];
then
echo 'ERROR : Please input vm information.'
else
/opt/homebrew/opt/gnu-sed/libexec/gnubin/sed -i "/${2}/d" $SCRIPT_DIR/remote_vmaddr.txt
fi

else
echo 'ERROR : Please check your command'
echo 'Command : [ ls / mk / rm ]'
fi
fi

vmgmt init : vmgmt명령을 사용하기위해 초기화 한다.

vmgmt ls : 저장한 remote 서버의 ip들을 보여주거나 특정 remote 서버의 ip 를 보여준다.

    => ex) vmgmt ls servername 

vmgmt mk : remote 서버의 ip를 저장한다.

    => ex) vmgmt mk servername:192.168.0.1

vmgmt rm : 저장한 remote 서버의 정보를 삭제한다.

    => ex) vmgmt rm servername