1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Software und Anwendungen
  3. Betriebssysteme

Shellscript (csh) - Abfrage ob Terminal connected...

    • Linux
  • NickK
  • 14. Februar 2012 um 18:53
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • NickK
    Punkte
    310
    Beiträge
    46
    • 14. Februar 2012 um 18:53
    • #1

    Hallo

    kann ich in einem Shellscript (csh) abfragen ob das script von der commandline, also manuell aufgerufen wurde und echo-ausgaben somit auf ein Terminal ausgegeben werden - oder ob dasselbe shellscript über cron/crontab automatisch aufgerufen wurde ?

    Danke für Hinweise

    NickK

  • skinner33
    Punkte
    862
    Beiträge
    168
    • 14. Februar 2012 um 21:06
    • #2

    Mit

    Code
    if [[ -t 1 ]]; then


    kann man unter bash checken ob der stdout angehängt ist.
    Entspricht im Prinzip der abfrage ob der Terminal einen interaktiven Output hat.

  • Kampi
    Punkte
    7.828
    Beiträge
    1.468
    • 15. Februar 2012 um 14:00
    • #3

    wozu das ganze? du willst im cron-fall wahrscheinlich keinen output, richtig? falls dem so ist, bieg in der crontab fuer dieses kommando den stdout einfach auf /dev/null um.

  • NickK
    Punkte
    310
    Beiträge
    46
    • 17. Februar 2012 um 13:59
    • #4
    Zitat von Kampi

    wozu das ganze? du willst im cron-fall wahrscheinlich keinen output, richtig? falls dem so ist, bieg in der crontab fuer dieses kommando den stdout einfach auf /dev/null um.

    ih will nur manchen output im cron-fall nicht

    fehlermeldungen will ich schon damit diese vom cron per mail trotzdem weitergehen

    lösung aber inzwischen in onlinebüchern gefunden:

    tty -s
    set xyz = $status
    ...
    ...
    if ($xyz != 1) then
    ...
    endif


    danke trotzdem :-))

  • sutupud
    Punkte
    1.659
    Beiträge
    320
    • 17. Februar 2012 um 15:16
    • #5
    Zitat von NickK

    ih will nur manchen output im cron-fall nicht

    fehlermeldungen will ich schon damit diese vom cron per mail trotzdem weitergehen

    in diesem fall könntest du auch z.b. alles was du haben willst (fehlermeldungen) auf stderr ausgeben, den rest auf stdout.
    wenn du dann im crontab stdout nach /dev/null umbiegst, kriegst du nur noch den stderr per mail (cron sammelt beides).
    dazu ist schließlich die trennung in stdout+stderr da...

  • arved
    Punkte
    466
    Beiträge
    90
    • 8. März 2012 um 17:45
    • #6

    Und weils noch niemand gesagt hat, du willst kein shellscript in csh schreiben...

    http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

  • Maximilian Rupp 27. Dezember 2024 um 00:09

    Hat das Thema aus dem Forum Betriebssysteme nach Betriebssysteme verschoben.

  1. Datenschutzerklärung
  2. Impressum