bash-scripting: config-vars ändern

#!/bin/bash
# 8 config-VARS Ändern , ERSETZEN 5 ,EINFÜGEN 3 und bei Bedarf löschen
work_dir=.
config_file=config.cfg
TMP=$work_dir/CONFIG_changes.log
if [ -a $TMP ];
then
rm $TMP
fi
# ERSETZEN
declare -a chgary
chgary=(„seta name“ „bind g“ „seta r_customheight“ „seta r_customwidth“ „seta r_mode“)
# mit
declare -a xchary
xchary=(’seta name „^3\*^1K^9N^1A^9R^1C^9H^3\*“‚ ‚bind g „wait 0;+zoom;+attack;-attack;-zoom“‚ ’seta r_customheight „768“‚ ’seta r_customwidth „1366“‚ ’seta r_mode „-1“ unsafe‘)

for datei in `find $work_dir -name $config_file`
do
# EINFÜGEN
if ! egrep -q „bind h“ $datei ; then sed -i ‚/^bind g.*$/a bind h „+mapexpand“‚ $datei ; fi
if ! egrep -q „bind i“ $datei ; then sed -i ‚/^bind h.*$/a bind i „playdead“‚ $datei ; fi
if ! egrep -q „bind MOUSE3“ $datei ; then sed -i ‚/^bind MOUSE2.*$/a bind MOUSE3 „+attack2″‚ $datei ; fi
for ((i=0; i<=4; i++));
do
sed -i „s/${chgary[$i]}.*$/${xchary[$i]}/“ $datei
if ! egrep -q „${chary[$i]}“ $datei
then
echo ${xchary[$i]} >> $datei
fi
done

#bei Bedarf  leere Zeilen löschen
#sed -i ‚/^$/d‘ $datei

done
# Ersetzungen anzeigen und in Log-Datei schreiben !
echo ${xchary[0]} >>$TMP
echo ‚bind h „+mapexpand“‚ >>$TMP
echo ‚bind i „playdead“‚ >>$TMP
echo ‚bind MOUSE3 „+attack2″‚ >>$TMP
echo ${xchary[1]} >>$TMP
echo ${xchary[2]} >>$TMP
echo ${xchary[3]} >>$TMP
echo ${xchary[4]} >>$TMP
# Ausgabe
find $work_dir -name $config_file -print -exec grep -f $TMP {} \;
echo „IN DATEI : “ >>$TMP
find $work_dir -name $config_file -print >>$TMP
exit 0

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.