ich will umgebungsvariablen eines scripts in einer textdatei abspeichern
und bei erneutem ausführen damit arbeiten können.
mein kleines testscript für die bash sah so aus
1 | #!/bin/bash
|
2 |
|
3 | n=0
|
4 | j=0
|
5 |
|
6 | #funktionen
|
7 | save_var_in_file() {
|
8 | var=$1
|
9 | echo $var >> variablen
|
10 | return
|
11 | }
|
12 |
|
13 | #auslesen der datei
|
14 | while read zeilen_inhalt ; do
|
15 | zeilen[$n]="$zeilen_inhalt"
|
16 | n=`expr $n + 1`
|
17 | done < variablen
|
18 |
|
19 |
|
20 | #die variablen werden im script bearbeitet
|
21 | zeilen[1]=1
|
22 | zeilen[4]=1
|
23 |
|
24 | #die bearbeiteten werte in datei schreiben
|
25 | rm variablen
|
26 | while [ $j -le $n ]
|
27 | do
|
28 | save_var_in_file ${zeilen[j]}
|
29 | j=`expr $j + 1`
|
30 | done
|
ich lese also zu beginn meine textdatei ein, ändere die variablen im
script und schreibe sie am ende in die datei. wenn ich meine testdatei
vorher mit 8 nullen gefüllt habe waren die nullen in zeile 1 und 4 auch
nacher brav einsen.
jetzt zum problem. das ganze soll nicht in einer bash sondern unter
/bin/sh laufen. der selbe code hat dort aber probleme mit den arrays
./script.sh: zeilen[1]=1t: not found
wie löse ich das am besten?