wie füge ich tee in bash an eine datei an?
<p>dies sind befehle, die ich im terminal eingebe</p><pre><code>echo -e "first line" | tee ~/output.log echo -e "second line" | tee ~/output.log </code></pre><p>wenn ich in die datei output.log schaue, sehe ich nur 'zweite zeile'. wie kann ich sicherstellen, dass das tee angehängt wird (anstatt die datei zu löschen)?</p><p>ich möchte dies in der datei sehen können:</p><pre><code>first line second line </code></pre><p>sollte ich das anders angehen?</p><p>vielen dank!</p>
<pre class="lang-none prettyprint-override"><code>echo -e "first line" | tee ~/output.log echo -e "second line" | tee -a ~/output.log ^^ </code></pre><p>von <a href="http://man7.org/linux/man-pages/man1/tee.1.html">mann tee</a> :</p><pre class="lang-none prettyprint-override"><code> copy standard input to each file, and also to standard output. -a, --append append to the given files, do not overwrite </code></pre><p>hinweis: mit <code>-a</code> wird immer noch die erwähnte datei erstellt.</p>
<p>sie können das meiste davon tun, indem sie eine login.sql verwenden. login.sql wird während der - überraschenden - anmeldung ausgeführt und aus ihrem sqlpath oder dem aktuellen verzeichnis geladen. für die beispiele, die sie gegeben haben, haben sie wirklich den schlimmsten fall gewählt.</p><p>problem ist der sqlterminator. was auch immer sie dort eingeben, der schrägstrich wird als kostenloser sql-minator beibehalten. daneben sucht sqlplus zuerst nach dem sqlterminator und führt dies vor dem scannen zum string-terminator durch. ein fehler, wenn sie mich fragen. der schrägstrich kann in einer zeichenfolge verwendet werden, solange er nicht allein in einer separaten zeile steht. sobald sqlplus das als sqlterminator angegebene zeichen findet, ignoriert es alles andere und hört auf zu lesen.</p><p>der schrägstrich kann behandelt werden, solange er nicht alleine in einer zeile steht.</p><p>login.sql enthält:</p><pre><code>prompt run login.sql show sqlterminator show sqlblanklines set sqlblanklines on set sqlterminator ';' show sqlterminator show sqlblanklines prompt ready login.sql set echo on </code></pre><p>leigh.sql enthält:</p><pre><code>insert into t1 values ('fail bc semicolon a;a / '); insert into t1 values ('fail bc solo / aa / '); insert into t1 values ('ok / not solo aa /a '); delete from t1 where a = 'c a/ '; </code></pre><p>führen sie das skript aus:</p><pre><code>sqlplus leigh/leigh@orcl @leigh sql*plus: release 10.2.0.4.0 - production on thu aug 9 22:36:20 2012 copyright (c) 1982, 2007, oracle. all rights reserved. connected to: oracle database 11g enterprise edition release 11.2.0.3.0 - 64bit production with the partitioning, real application clusters, automatic storage management, olap, data mining and real application testing options run login.sql sqlterminator ";" (hex 3b) sqlblanklines off sqlterminator ";" (hex 3b) sqlblanklines on ready login.sql sql&gt; insert into t1 values ('fail bc semicolon 2 a;a 3 / error: ora-01756: quoted string not properly terminated sql&gt; '); sp2-0042: unknown command "')" - rest of line ignored. sql&gt; sql&gt; insert into t1 values ('fail bc solo / 2 3 4 aa 5 / error: ora-01756: quoted string not properly terminated sql&gt; '); sp2-0042: unknown command "')" - rest of line ignored. sql&gt; sql&gt; insert into t1 values ('ok / not solo 2 3 4 aa 5 /a 6 '); 1 row created. sql&gt; sql&gt; delete from t1 where a = 'c 2 3 4 a/ 5 '; 0 rows deleted. </code></pre><p>sie müssen nicht mit start-/endblöcken herumspielen. der befehl sqlterminator innerhalb des befehls kann nicht verarbeitet werden, unabhängig davon, wo er sich in einer zeichenfolge befindet oder nicht. er kann keine zeilen mit schrägstrich allein in einer zeile in einer zeichenfolge verarbeiten.</p> Eine geöffnete Datei wird durch einen sogenannten *file descriptor* repräsentiert.  


Mit 


```
[anweisung] n> [datei]
```
 wird [anweisung] ausgeführt und das, was der dadurch erzeugte Prozess in die Datei mit file descriptor n schreibt, wird stattdessen in die Datei [datei] gerschrieben.   
Beim Programmstart werden üblicherweise automatisch drei Dateien geöffnet:

    0: stdin Die Standardeingabe  


    1: stdout Die Standardausgabe

    2: stderr Die Fehlerausgabe

**Beispiele.**


```
ls 1> files.txt  

```
schreibt den Inhalt des aktuellen Ordners in die Datei files.txt und zeigt Fehlermeldungen am Bildschirm an. Die 1 hätte hier weggelassen werden können.  

```
ls 2> ls.err  

```
Zeigt den Inhalt des aktuellen Ordners am Bildschirm an und schreibt Fehlermeldungen in die Datei ls.err.
```
ls 2>ls.err 1> files.txt  

```
Schreibt Inhalt des aktuellen Ordners in die Datei files.txt und Fehlermeldungen in die Datei ls.err.
```
ls 2>&1 | cat > output  

```
Schreibt Inhalt des aktuellen Ordners und Fehlermeldungen in die Datei output. Du musst ein JPG-Bild einer gestrichelten Linie nach deinem Wunsch erstellen.  
Im Menü "Datenreihen formatieren" auf keine Linie und Fülling mit Bild aus Datei.


mit Strecken oder Stapeln kannst du noch feinjustieren. Bei mir schaut es so aus:


 ![]() Hallo,   
  
zum wahrscheinlich tausendsten mal.   
  
Gehe auf die drei Balken, oben rechts, dann auf Einstellungen.   
  
Nun, "Beim Start" bestimmte Seite oder Seiten öffnen, "Seite festlege".   
  
Alles andere löschen !!!!!!!!!   
  
Nun bei "Suche" Google festlegen.   
  
Das war es.   
  
Gruß Hallo Marco,


zu 1.) Der Befehl wechselt zur letzten Stable-Version (git tag -l listet alle Tags auf, das egrep schmeisst alle Einträge mit beta oder rc raus und das tail gibt davon den obersten Treffer zurück).


zu 1.1) Genau - das ist damit schon beantwortet.


zu 1.2) Du kannst es da lassen. Oder Du kannst auch das git clone unter /var/www ausführen. Wenn Du die Dateien unter /usr/local/src lässt, musst Du das aber beim Einrichten des apache berücksichtigen, sprich dort wo /var/www steht muss dann natürlich /usr/local/src hin.


zu 4.) Hierzu sollte man sich schon ein bisschen mit git auseinander setzen. Eigentlich wollte ich das im Forum erst nicht beantworten, da doch einiges schief gehen kann, wenn man git nicht kennt, vor Allem, wenn man eigene Änderungen gemacht hat.  

Aber eigentlich geht das dank git recht einfach und ich beschreibe das mal kurz - ohne Garantie:


Wenn Du das nach der Anleitung gemacht hast, dann hast Du lokal zwei Branches, einmal "master" und einmal "meine\_eigenen\_änderungen". Du solltest Dich eigentlich immer im Branch "meine\_eigenen\_änderungen" befinden. Deine eigenen Anpassungen (z.B. Druckvorlagen) solltest Du mit "git commit" einchecken.  

Zwischendurch kannst Du immer mal in den Master-Branch wechseln (aber dann nicht auf kivitendo via Webbrowser zugreifen), und zwar mit "git checkout master". Dann kannst Du mit "git pull" alle Änderungen aus dem Projekt-Repo holen. Master ist dann auf dem aktuellen Stand.  

Mit "git checkout meine\_eigenen\_änderungen" wechselst Du wieder zurück in Deinen Branch, der noch auf dem "alten" Stand ist. Das musst Du tun, wenn Du wieder auf kivitendo zugreifen willst.


Falls es eine neue Version gibt, und Du darauf umsteigen willst, oder Du auf eine neue Beta oder RC-Version (oder auch auf unstable) umsteigen willst, dann kannst Du mit "git rebase master" Deinen Branch auf den Stand des Masters heben.  

Wenn Du nur Änderungen an den Druckvorlagen gemacht hast, ist das in der Regel unproblematisch. Wenn Du Quelltexte angepasst hast, kannst Du Probleme bekommen. Das hier zu erläutern, sprengt den Rahmen.  

Vergiss auch nicht, auch immer die doc/UPGRADE-Datei und doc/changelog zu lesen.


Viele Grüße  

 Bernd Klicke aufs Register ***Einfügen***, dann in der Gruppe ***Illustrationen*** auf den Befehl ***Formen***.


Hier wählst Du die Linie aus (siehe Grafik Linie)


Nun klickst Du ins WORD-Dokument, hältst die linke Maustaste gedrückt und ziehst eine waagrechte Linie. Diese kannst Du beliebig bearbeiten (Dicke, Länge, Farbe, Schattierung u.s.w.) und natürlich auch verschieben.


Viel Spass so wie gewünscht, geht das ganz einfach = wenn die seitenummer auf seite 3 beginnen soll, dann so= auf die seite 2 mit dem curser gehn- dann -einfügen-manueller umbruch-seitenumbruch-vorlage - erste seite - seitennummer ändern-1 setzen - bestätigen- fertig, nun kann man deckblatt usw. bearbeiten. so nun ist die seite drei die erste seite= einfügen - fußzeile -standard- ok. einfügen-feldbefehl-seitennummer - ok. fertig. das geht natürlich so auch nach dem selbensystem mit der kopfzeile. mfg.m. ...wenn Du keinen Stress riskieren willst, sei 2 Stunden vor Abflug am Check-in-Schalter; gib Dein Gepäck auf,und dann nix wie ab in Richtung "GATE" - auf dem Weg dorthin findest Du das wahre Nadelöhr - die Handgepäckskontrolle!!! Wenn dort viel lost ist, und jeder seinen Gürtel und die Schuhe ausziehen muss und ausführlich kontrolliert wird, kann die Zeit reichlich schnell vergehen. UND - wenn Du zu spät am Gate erscheinst, kann der Flieger auch schon mal weg sein bzw. Dich nicht mehr mitlassen.
Geht der Flug auf die Fernstrecke, USA z.b., können 2 Stunden so richtig knapp werden - also lieber mehr Zeit einplanen. Nach der Handgepäckskontrolle ist auch immer noch eine Möglichkeit, nen Kaffee zu trinken oder - je nach Reiseziel - dutyfree einzukaufen... Du klickst den zu kopierenden Tab mit der linken Maustaste an, hältst sie gedrückt, verschiebst den Tab zur Seite, drückst dann auf der Tastatur die "Strg"-Taste, lässt die Maustaste los und danach die "Strg"-Taste. Avira Antivir starten->links auf "Berichte" klicken->nun im großen Fenster, wo die Suchläufe angezeigt werden, Doppelklick auf das relevante "Ergebnis"->jetzt Klick auf "Reportdatei anzeigen". Nun kannst Du die Dateien sehen, die Grund für die Warnungen sind. Im Internet recherchieren, um was für Dateien es sich handelt oder hier neue Frage stellen und die Dateien genau bezeichnen. Dann hast Du letzte Sicherheit.