In Unix - Shell, habe ich eine env - Datei ( env - Datei die Parameter definiert , für den Betrieb des Benutzerskript wie Protokolldateinamen und den Pfad erforderlich, Umleitung Ausgänge und Fehler - Datei, Datenbankverbindungsdaten, etc. zu protokollieren ) , das leitet alle die Ausgänge ( Echo - Nachrichten ) und Fehler in der Protokolldatei aus dem ausgeführten Skript mit dem folgenden Code:
exec 1>>${LOG_FILE}
exec 2>>${LOG_FILE}
Die env-Datei wird am Anfang jedes Skripts ausgeführt. Aufgrund des obigen Codes in der env-Datei werden alle Konsolenausgaben, bei denen es sich möglicherweise um Benutzerausgaben oder Fehler handelt, direkt in die Protokolldatei ausgegeben, was ich tatsächlich benötigte.
Es gibt jedoch einige selektive Benutzerausgaben, die sowohl in der Konsole als auch in der Protokolldatei angezeigt werden sollen. Aber aufgrund des obigen Codes kann ich das nicht.
Ich weiß, dass ich, wenn ich den obigen Code entferne, das gewünschte Ergebnis für diesen Fall erzielen kann, aber ich muss alle anderen Ausgaben manuell in die Protokolldatei schreiben, was keine leichte Aufgabe ist.
Gibt es eine Möglichkeit, die Ausgabe sowohl in der Konsole als auch in der Protokolldatei abzurufen, ohne die obigen Codes zu entfernen?