fun() { # usage read -r -d '' usage << EOM usage: $0 [-h] [-u=] [-e] [-p=] host -h help -u user name -p ssh port -e if remote editable? EOM # variable local host= user=root port=22 edit= # parse arguments while [ "$1" != "" ]; do PARAM=`cut -d '=' -f 1 <<< "$1"` VALUE=`cut -d '=' -f 2- <<< "$1"` case $PARAM in -h) echo $usage return ;; -u) user="$VALUE" ;; -p) port="$VALUE" ;; -e) edit="true" ;; *) echo "ERROR: unknown parameter \"$PARAM\"" echo $usage && return ;; esac shift done # logic [ "$host" = "" ] && echo "[ERROR] Please provide host" && echo $usage && return ssh -p $post $user@$host }