PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wert einer Variablen an das Ende einer existierenden Datei schreiben



fsanne
12.02.13, 16:16
Hallo.
Mit einem selbstgebastelten bash.script schaffe ich mir auf Doppelklick eine Arbeitsumgebung auf dem Desktop.
Am Ende des Scriptes soll der Inhalt von drei Variablen an das Ende einer bestehenden css-Datei geschrieben werden.
Das Script läuft bis auf die Ausgabe der Variablen in die css.datei.
Hier das script


#!/bin/bash
#Arbeitsumgebung für YAML4 erstellen unter Auswahl
#verschiedener existierender Stylesheets.
clear
var=`zenity --list --radiolist --width=500 --height=250 --text "Wähle Stylesheet aus" --title "Stylesheet-Auswahl" --column="" --column Punkt --column Beschreibung \
\"\" 1 "Stylesheet 1" \
\"\" 2 "Stylesheet 2" \
\"\" 3 "Stylesheet 3" \
\"\" 4 "Stylesheet 4" \ `

#echo "Stylesheet ist $var"
clear
#Ermittlung des Systemdatums und der Systemzeit
date=`/bin/date +%d.%m.%Y-%H.%M.%S`

#Pfad des YAML402-121023-Ordners
path1=$HOME/Web/YAML4/yaml402-121023/

#Pfad zur Arbeitsfläche (Desktop)
path2=$HOME/Arbeitsfläche

#Ermittlung der neuen Arbeitsumgebung Name und Datum
entwurf=YAML4-Entwurf-$date

#Einrichten der neuen Arbeitsumgebung auf dem Desktop
arbeitsumgebung=$path2/$entwurf

#Einrichten der Ordner der Arbeitsumgebung
mkdir -p $arbeitsumgebung/yaml $arbeitsumgebung/css $arbeitsumgebung/images/sidebar $arbeitsumgebung/images/syspic $arbeitsumgebung/content $arbeitsumgebung/images/icons

#Wechsel nach home/web/YAML4/yaml402-121023
cd $path1

#Kopieren der dort hinterlegten Dateien
cp yaml/* -R $arbeitsumgebung/yaml
cp css/* -R $arbeitsumgebung/css
cp index.html $arbeitsumgebung/
cp sites/* -R $arbeitsumgebung/content
cp syspic/* -R $arbeitsumgebung/images/syspic

main="@import url"\($var"-tuxfritz-main.css)"
nav="@import url"\($var"-tuxfritz-nav.css)"
bg="@import url"\($var"-tuxfritz-bg.css)"
echo "$main, $nav, $bg"

#bis hierher funktioniert das script

#Jetzt soll der Inhalt der Variablen $main $nav und $bg in die #bestehende Datei tuxfritz.css an das Ende geschrieben werden.

#$arbeitsumgebung/css/tuxfritz.css

Ich versuche schon seit Stunden das irgendwie mit cat oder sed hinzubekommen, schaffe es aber nicht, weil ich keinen blassen Dunst habe.
Es wäre nett, wenn mir jemand helfen könnte,
Grüße,
Fritz

Hitman
12.02.13, 16:52
echo "$main, $nav, $bg" > $arbeitsumgebung/css/tuxfritz.css

fsanne
12.02.13, 17:10
Ich danke Dir.


echo "$main $nav $bg" >> $arbeitsumgebung/css/tuxfritz.css

Mit leichten Veränderungen (>>) klappt es wunderbar. Bei meinen Versuchen wurden @import immer als unbekannter Befehl gewertet.

Nur noch eine kleine Frage. Ich hätte das gern untereinander geschrieben - wäre mit 3 mal echo für jede Variable wahrscheinlich möglich, aber geht das auch in einem Rutsch?

vielen Dank noch mal.
Fritz

Hitman
12.02.13, 17:14
Stimmt doppelt ">" , sonst wird´s nicht angehangen.

Bzgl. Zeilen

echo -e "\n$main\n$nav\n$bg" >> $arbeitsumgebung/css/tuxfritz.css

fsanne
12.02.13, 17:21
Nochmal Danke.
Fritz