Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Shellscript schreibt nicht alles in die .log

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein Shellscript, welches die ganzen Ausgaben in eine logdatei schreiben soll.


LOGDATEI=test.log


ls -la >> $LOGDATEI

java -help >> $LOGDATEI

tftp 192.168.1.1  >> $LOGDATEI

Beim dritten Fall schreibt er mir das Ganze in die Shell, statt in die LOGDATEI. (Egal, ob es fehlschlägt oder nicht).

Ich möchte aber alles in der Log-Datei haben.

Wo ist der Fehler/ Was mache ich falsch?

Danke, funktioniert.

Ich finde so sieht es eleganter aus, wenn bei einem erfolgreichen durchlaufen nur da steht Punkt 1 funktioniert, Punkt 2 funktioniert ...

Nach dem Fehler kann man ja in der Logdatei schauen, außerdem bleibt eine .log-Datei erhalten und man kann nach einem Neustart den Fehler im Internet suchen.

Ich will das noch filtern, bloß wie, weiß ich noch nicht, benutze erst einmal google.

Habe beim Filtern das Problem, dass diese Variante nicht funktioniert:

grep -v -C 5 text

kennt jemand dafür einen funktionierenden Befehl?

Bei mir macht der beim Zusammenspiel gar nicht.

Mache ich z.B. ls -la | grep -v .

Dann zeigt er mir alles, außer das Punktverzeichnis an ->ok

Mache ich z.B.ls -la | grep -C 2 .

Dann zeigt er mir den Bereich2 über und unter der Datei . ->ok

Bei beiden ls -la | grep -v -C 2 .

Zeigt er mit alle Verzeichnisse an -> fail

Wenn du den Punkt so schreibst steht er für das aktuelle Verzeichnis. Wenn du ihn als Anfang des Dateinamens verwenden willst musst du ihn escapen.

Beispiel unter Ubuntu:

la -a | grep -v -C 2 '^\.'

Dateienverzeichnis:

insgesamt 27912

drwxr-sr-x 12 a nogroup 4096 31. Mär 13:46 .

drwxr-sr-x 78 a nogroup 4096 4. Apr 08:51 ..

drwxr-xr-x 4 a nogroup 4096 3. Okt 2009 boot

-rw-r--r-- 1 a nogroup 118225 9. Feb 15:22 cao_xtc_functions.php

Den Punkt habe mal als Beispiel genommen, mit den anderen Dateien z.B. boot funktioniert der Befehl auch nicht.

Welches Ergebnis erwartest du denn wenn du in diesem Verzeichnis "ls -la | grep -v -C 2 boot" ausführst?

Ich erwarte, dass du das ganze Verzeichnis gelistet bekommst., weil boot ja durch das -C 2 vom .. gezeigt wird.

"Ich erwarte, dass du das ganze Verzeichnis gelistet bekommst." Damit hast du recht. Siehe post vom 1.4.2011

Ich hatte ehr erwartet, dass er den Bereich von -C 2 nimmt und ihn aus der Liste entfernt.

Funktioniert das mit grep?

Wenn ja, bitte die variante posten,

wenn nein, einfach 'nein' posten.

(Habe das jetzt über sed gelöst)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.