Bash Script soll neue Datei erzeugen
Hallo zusammen, ich benötige mal euren Rat.
Ich möchte in einem Script Parameter eingeben die darauf hin einen Text verfollständigen und diesen in eine neu Datei schreiben
Ich denke dals Beispeil Poste ich mal das Original
Die Original Datei:
cli version 3.20
no terminal telnet
administrator admin password Test
banner "Banner"
clock local default-offset +02:00
clock local dst-rule DST +01:00 from 03:00 oct 31st previous sunday until 02:00 mar 31st previous sunday
dns-client server 10.10.10.10
dns-client server 10.10.10.11
webserver port 80 language en
snmp community public ro
snmp target 10.10.10199 security-name public
snmp host 10.10.10.199 security-name public
snmp host 10.10.10.194 security-name public
snmp host 10.10.10.195 security-name public
sntp-client
sntp-client server primary 10.10.10.254 port 123 version 4
sntp-client server secondary 10.10.10.252 port 123 version 4
sntp-client poll-interval 36000
sntp-client local-clock-offset
Mein Script sieht jetzt folgender Maßen aus:
#!/bin/bash
Eingabe Bereich################
LOG="/var/log/Patton/S0.log"
##Passwot Eingabe####
echo "$(date) - elara PW festlegen" | tee -a $LOG
read Password
echo "DNS1: "$Password
DNS Server######
echo "$(date) - DNS Server 1 festlegen" | tee -a $LOG
read DNS1
echo "DNS1: "$DNS1
echo "$(date) - DNS Server 2 festlegen" | tee -a $LOG
read DNS2
echo "DNS1: "$DNS2
snmp Tarket#######
echo "$(date) - SNMP Target festlegen" | tee -a $LOG
read SNMP1
echo "SNMP Target: "$SNMP
Snmp Host############
echo "$(date) - SNMP Host 1 festlegen" | tee -a $LOG
read SNMPHost1
echo "SNMP Host 1: "$SNMPHost1
echo "$(date) - SNMP Host 1 festlegen" | tee -a $LOG
read SNMPHost2
echo "SNMP Host 1: "$SNMPHost2
echo "$(date) - SNMP Host 3 festlegen" | tee -a $LOG
read SNMPHost3
echo "SNMP Host 1: "$SNMPHost3
NTP##############
echo "$(date) - NTP Host 1 festlegen" | tee -a $LOG
read NTP1
echo "NTP 1: "$NTP1
echo "$(date) - NTP Host 2 festlegen" | tee -a $LOG
read NTP2
echo "NTP 2: "$NTP2
syslog Server
echo "$(date) - Syslog Server festlegen" | tee -a $LOG
read syslog
echo "SYSLOG Server: "$syslog
cli version 3.20
no terminal telnet
administrator elara password $Password
banner "ELARA Leitstellentechnik GmbH"
clock local default-offset +02:00
clock local dst-rule DST +01:00 from 03:00 oct 31st previous sunday until 02:00 mar 31st previous sunday
dns-client server $DNS1
dns-client server $DNS2
webserver port 80 language en
snmp community public ro
snmp target $SNMP security-name public
snmp host $SNMP1 security-name public
snmp host $SNMP2 security-name public
snmp host $SNMP3 security-name public
sntp-client
sntp-client server primary $NTP1 port 123 version 4
sntp-client server secondary $NTP2 port 123 version 4
sntp-client poll-interval 36000
sntp-client local-clock-offset
Jetzt suche ich nach einer Lösung den unteren Teil in eine neue Datei zu schreiben mit den Werten die ich vorher eingegeben habe.
Hat da jemand eine "einfache" Lösung?
Gruß
Stefan
Ich möchte in einem Script Parameter eingeben die darauf hin einen Text verfollständigen und diesen in eine neu Datei schreiben
Ich denke dals Beispeil Poste ich mal das Original
Die Original Datei:
cli version 3.20
no terminal telnet
administrator admin password Test
banner "Banner"
clock local default-offset +02:00
clock local dst-rule DST +01:00 from 03:00 oct 31st previous sunday until 02:00 mar 31st previous sunday
dns-client server 10.10.10.10
dns-client server 10.10.10.11
webserver port 80 language en
snmp community public ro
snmp target 10.10.10199 security-name public
snmp host 10.10.10.199 security-name public
snmp host 10.10.10.194 security-name public
snmp host 10.10.10.195 security-name public
sntp-client
sntp-client server primary 10.10.10.254 port 123 version 4
sntp-client server secondary 10.10.10.252 port 123 version 4
sntp-client poll-interval 36000
sntp-client local-clock-offset
Mein Script sieht jetzt folgender Maßen aus:
#!/bin/bash
Eingabe Bereich################
LOG="/var/log/Patton/S0.log"
##Passwot Eingabe####
echo "$(date) - elara PW festlegen" | tee -a $LOG
read Password
echo "DNS1: "$Password
DNS Server######
echo "$(date) - DNS Server 1 festlegen" | tee -a $LOG
read DNS1
echo "DNS1: "$DNS1
echo "$(date) - DNS Server 2 festlegen" | tee -a $LOG
read DNS2
echo "DNS1: "$DNS2
snmp Tarket#######
echo "$(date) - SNMP Target festlegen" | tee -a $LOG
read SNMP1
echo "SNMP Target: "$SNMP
Snmp Host############
echo "$(date) - SNMP Host 1 festlegen" | tee -a $LOG
read SNMPHost1
echo "SNMP Host 1: "$SNMPHost1
echo "$(date) - SNMP Host 1 festlegen" | tee -a $LOG
read SNMPHost2
echo "SNMP Host 1: "$SNMPHost2
echo "$(date) - SNMP Host 3 festlegen" | tee -a $LOG
read SNMPHost3
echo "SNMP Host 1: "$SNMPHost3
NTP##############
echo "$(date) - NTP Host 1 festlegen" | tee -a $LOG
read NTP1
echo "NTP 1: "$NTP1
echo "$(date) - NTP Host 2 festlegen" | tee -a $LOG
read NTP2
echo "NTP 2: "$NTP2
syslog Server
echo "$(date) - Syslog Server festlegen" | tee -a $LOG
read syslog
echo "SYSLOG Server: "$syslog
cli version 3.20
no terminal telnet
administrator elara password $Password
banner "ELARA Leitstellentechnik GmbH"
clock local default-offset +02:00
clock local dst-rule DST +01:00 from 03:00 oct 31st previous sunday until 02:00 mar 31st previous sunday
dns-client server $DNS1
dns-client server $DNS2
webserver port 80 language en
snmp community public ro
snmp target $SNMP security-name public
snmp host $SNMP1 security-name public
snmp host $SNMP2 security-name public
snmp host $SNMP3 security-name public
sntp-client
sntp-client server primary $NTP1 port 123 version 4
sntp-client server secondary $NTP2 port 123 version 4
sntp-client poll-interval 36000
sntp-client local-clock-offset
Jetzt suche ich nach einer Lösung den unteren Teil in eine neue Datei zu schreiben mit den Werten die ich vorher eingegeben habe.
Hat da jemand eine "einfache" Lösung?
Gruß
Stefan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 319388
Url: https://administrator.de/contentid/319388
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Stefan,
so was macht man meist mit der "heredoc" Syntax:
http://www.tldp.org/LDP/abs/html/here-docs.html
Das Schlüsselwort "MYEOFSTRING" kann frei gewählt werden es muss aber mit dem in der letzten Zeile übereinstimmen damit die Bash weis wo das Ende ist.
Grüße Uwe
so was macht man meist mit der "heredoc" Syntax:
http://www.tldp.org/LDP/abs/html/here-docs.html
cat > /pfad/datei.cfg << MYEOFSTRING
Line 1.
Line 2.
Line 3.
MYEOFSTRING
Grüße Uwe