Mise à jour de 'Run.sh'
implement 'config' command in Run.sh
This commit is contained in:
75
Run.sh
75
Run.sh
@@ -8,6 +8,9 @@ function add_iniKeyEx() {
|
|||||||
# Warning: ugly hack with sed to allow multiple key instances + to remove space around '='
|
# Warning: ugly hack with sed to allow multiple key instances + to remove space around '='
|
||||||
sed -i "s/[[:space:]]*__$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*/$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')=/g" $OUTPUT_DIR/System/$1
|
sed -i "s/[[:space:]]*__$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*/$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')=/g" $OUTPUT_DIR/System/$1
|
||||||
}
|
}
|
||||||
|
function set_iniKeyEx() {
|
||||||
|
crudini --set $OUTPUT_DIR/System/$1 $2 __$3 $4
|
||||||
|
}
|
||||||
# !!Warning!! section is not considered
|
# !!Warning!! section is not considered
|
||||||
function del_iniKeyEx() {
|
function del_iniKeyEx() {
|
||||||
sed -i "/[[:space:]]*$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*$(echo $4 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/d" $OUTPUT_DIR/System/$1
|
sed -i "/[[:space:]]*$(echo $3 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')[[:space:]]*=[[:space:]]*$(echo $4 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/d" $OUTPUT_DIR/System/$1
|
||||||
@@ -15,6 +18,9 @@ function del_iniKeyEx() {
|
|||||||
function add_iniKey() {
|
function add_iniKey() {
|
||||||
add_iniKeyEx $CFG_FILE $1 $2 $3
|
add_iniKeyEx $CFG_FILE $1 $2 $3
|
||||||
}
|
}
|
||||||
|
function set_iniKey() {
|
||||||
|
set_iniKeyEx $CFG_FILE $1 $2 $3
|
||||||
|
}
|
||||||
# !!Warning!! section is not considered
|
# !!Warning!! section is not considered
|
||||||
function del_iniKey() {
|
function del_iniKey() {
|
||||||
del_iniKeyEx $CFG_FILE $1 $2 $3
|
del_iniKeyEx $CFG_FILE $1 $2 $3
|
||||||
@@ -56,12 +62,56 @@ function disable() {
|
|||||||
|
|
||||||
echo disable ok
|
echo disable ok
|
||||||
}
|
}
|
||||||
|
function config() {
|
||||||
|
case $# in
|
||||||
|
5)
|
||||||
|
OptionKey=$4
|
||||||
|
OptionValue=$5
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
OptionKey=$3
|
||||||
|
OptionValue=$4
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Not enough arguments"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
NIUT_FileName=$(find $OUTPUT_DIR/System -type f -iname "NIUT*.ini" -exec basename {} \;)
|
||||||
|
NIUT_BaseFileName="${NIUT%.*}"
|
||||||
|
case "$OptionKey" in
|
||||||
|
*)
|
||||||
|
set_iniKeyEx NIUT.ini "$NIUT_BaseFileName.NIUTMutator" $OptionKey $OptionValue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
function show_help() {
|
function show_help() {
|
||||||
echo
|
echo
|
||||||
echo "Usage: $0 { install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>]"
|
echo "Usage: $0 { install | enable | disable } <UT99_INSTALL_DIR> [<UT99_CONFIG_FILE>]"
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
function check_cfg_file() {
|
function check_cfg_file_config() {
|
||||||
|
if [ $# -eq 4 ]
|
||||||
|
then
|
||||||
|
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
|
||||||
|
CFG_FILE=$DEFAULT_CFG_FILE
|
||||||
|
elif [ $# -eq 5 ]
|
||||||
|
then
|
||||||
|
echo "CFG_FILE is set to '$CFG_FILE'"
|
||||||
|
else
|
||||||
|
echo "Wrong number of arguments"
|
||||||
|
show_help
|
||||||
|
exit 9999 # die with error code 9999
|
||||||
|
fi
|
||||||
|
if [ ! -f $OUTPUT_DIR/System/$CFG_FILE ]
|
||||||
|
then
|
||||||
|
echo "$OUTPUT_DIR/System/$CFG_FILE does not exist"
|
||||||
|
show_help
|
||||||
|
exit 9999 # die with error code 9999
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function check_cfg_file_gen() {
|
||||||
if [ -z ${CFG_FILE} ]
|
if [ -z ${CFG_FILE} ]
|
||||||
then
|
then
|
||||||
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
|
echo "CFG_FILE is unset, setting it to $DEFAULT_CFG_FILE"
|
||||||
@@ -87,19 +137,24 @@ function check_game_dir() {
|
|||||||
}
|
}
|
||||||
case "$1" in
|
case "$1" in
|
||||||
'install')
|
'install')
|
||||||
check_game_dir
|
check_game_dir "$@"
|
||||||
install
|
install "$@"
|
||||||
;;
|
;;
|
||||||
'enable')
|
'enable')
|
||||||
check_game_dir
|
check_game_dir "$@"
|
||||||
check_cfg_file
|
check_cfg_file_gen "$@"
|
||||||
disable
|
disable "$@"
|
||||||
enable
|
enable "$@"
|
||||||
|
;;
|
||||||
|
'config')
|
||||||
|
check_game_dir "$@"
|
||||||
|
check_cfg_file_config "$@"
|
||||||
|
config "$@"
|
||||||
;;
|
;;
|
||||||
'disable')
|
'disable')
|
||||||
check_game_dir
|
check_game_dir "$@"
|
||||||
check_cfg_file
|
check_cfg_file_gen "$@"
|
||||||
disable
|
disable "$@"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
show_help
|
show_help
|
||||||
|
|||||||
Reference in New Issue
Block a user