Unix Befehle für Programme



  • Hallo,

    ich weis, dass es manche Sonderzeichen gibt, mit denen die Ausgabe des einen Programms die Eingabe des anderen Programms wird. z.B. mit "|": ./printf | ./scanf. (Printf und Scanf sind hier einfach Namen für die jeweiligen Programme.)
    Oder mit "<" kann man aus einer Datei etwas einlesen und mit ">" etwas in eine Datei schreiben. z.B.: ./printf > text.txt , ./scanf < text.txt.
    Gibt es noch weiter Sonderzeichen? Gibt es irgendwo eine Liste?
    Danke im voraus.

    n0nam333


  • Mod

    Hah, diese Tags wollte ich schon immer mal verwenden:
    man: bash

    Was mir aus dem Kopf einfällt:

    • < Datei rechts vom < als Standardeingabe für Befehl benutzen.
    • > Datei rechts vom > als Standardausgabe für Befehl benutzen.
    • >> Datei rechts vom > als Standardausgabe für Befehl benutzen, dabei anhängen, nicht überschreiben
    • N> Filedeskriptor N des Befehls auf Datei rechts vom > umleiten. Dabei ist N=1 STDOUT, N=2 STDERR, Sonderrolle: N=& für beide.
    • N>> Filedeskriptor N des Befehls auf Datei rechts vom > umleiten. Dabei ist N=1 STDOUT, N=2 STDERR, Sonderrolle: N=& für beide. Dabei anhängen, nicht überschreiben
    • M>&N Filedeskriptor M nach N umleiten
    • N<> Weise Filedeskriptor N die Datei rechts vom > zu.
    • N<&- Schließe Filedeskriptor N
    • && Führe Befehl rechts von && nach Befehl links aus, wenn, und nur dann, linker Befehl 0 zurück gibt.
    • ; Führe Befehl rechts von && nach Befehl links aus.
    • & Führe Befehl links vom & im Hintergrund aus
    • <<CODEWORT Nehme Text bis zum erneuten auftauchen von CODEWORT als Standardeingabe für Befehl links vom <. Kombinierbar wie oben.
    • | Nehme Standardausgabe von Befehl links als Standardeingabe von Befehl rechts. Kombinierbar wie oben.

    Ach und ich hab kein Bock mehr. benutz Google oder die Manpage.



  • Variablensubstitution:

    ${# } ${ : } ${ : : } ${ ## } ${ %% } ${ / / } ${ /# / } ${ /% / }
    

Anmelden zum Antworten