gameservergame-servergame-servershacktoberfestdedicated-game-serversgamelinuxgsmserverbashgaminglinuxmultiplayer-game-servershell
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
#!/bin/bash
|
|
# LGSM core_getopt.sh function
|
|
# Author: Daniel Gibbs
|
|
# Website: http://gameservermanagers.com
|
|
lgsm_version="070116"
|
|
|
|
# Description: getopt arguments.
|
|
|
|
# This now uses the gamedata files, it creates a settings file named scriptactions
|
|
# This is processed into the pieces needed to execute commands and display usage.
|
|
|
|
fn_getopt_generic(){
|
|
USAGE=()
|
|
while IFS='' read -r line || [[ -n "$line" ]]; do
|
|
IFS='|' read -ra field <<< "${line}"
|
|
for opt in ${field[0]}; do
|
|
if [ "${getopt}" == "${opt}" ]; then
|
|
eval "${field[1]}"
|
|
exit
|
|
fi
|
|
done
|
|
if [ -z $optlen ] || [ ${#opt} -gt $optlen ]; then
|
|
optlen=${#opt}
|
|
fi
|
|
USAGE+=("\e[34m${opt}|\e[0m${field[2]}")
|
|
done < <(sed -e 's/"//g' -e 's/=/ /g' "${settingsdir}/scriptactions")
|
|
echo "Usage: $0 [option]"
|
|
echo "${gamename} - Linux Game Server Manager - Version ${version}"
|
|
echo "http://gameservermanagers.com/${selfname}"
|
|
echo -e ""
|
|
echo -e "\e[93mCommands\e[0m"
|
|
for row in "${USAGE[@]}"; do
|
|
IFS='|' read -ra action <<< "${row}"
|
|
printf "%-$(($optlen+5))b %-$(($optlen+15))b\n" "${action[0]}" "${action[1]}"
|
|
done
|
|
exit
|
|
}
|
|
fn_getopt_generic
|
|
|