Kommandosubstitution?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von moonlook, 20.12.2002.

  1. #1 moonlook, 20.12.2002
    moonlook

    moonlook !alleswissenwollen!

    Dabei seit:
    28.08.2002
    Beiträge:
    403
    Zustimmungen:
    0
    Ort:
    /dev/null
    Hi,

    ich würd gern mal erfahren (und zwar am besten genau und mit Beispiel), was Kommandosubstitution genau bedeutet.
    Irgendwie finde ich leine vernünftige Erklärung für diesen Begriff beim Shellscripten.?(
     
  2. Anzeige

    Schau dir mal diesen Ratgeber an. Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Doomshammer, 20.12.2002
    Doomshammer

    Doomshammer Aushilfs-Blowfish

    Dabei seit:
    15.12.2002
    Beiträge:
    95
    Zustimmungen:
    0
    Ort:
    Ostfriesland
    Kommandosubstitution ist das ausfuehren eines Kommandos (oder Kommandofolge) direkt in eine Variable.

    Da ganze funktioniert so:

    Alte (nicht mehr uebliche) Form: Backticks
    varibale=`cat /proc/cpuinfo`;

    Neue Form: $()
    variable=$(cat /proc/cpuinfo);
     
  4. #3 moonlook, 20.12.2002
    moonlook

    moonlook !alleswissenwollen!

    Dabei seit:
    28.08.2002
    Beiträge:
    403
    Zustimmungen:
    0
    Ort:
    /dev/null
    Verstehe ich richtig, das eine Abfolge wie z.B.:
    ps aux | grep irgendwas
    in einer Variable definiert werden kann und dann bei Benutzung der Variable die Abfolge.abgearbeitet wird?

    Ist das alles?
     
  5. #4 Doomshammer, 20.12.2002
    Doomshammer

    Doomshammer Aushilfs-Blowfish

    Dabei seit:
    15.12.2002
    Beiträge:
    95
    Zustimmungen:
    0
    Ort:
    Ostfriesland
    Das hast Du richtig verstanden:

     
  6. #5 moonlook, 20.12.2002
    moonlook

    moonlook !alleswissenwollen!

    Dabei seit:
    28.08.2002
    Beiträge:
    403
    Zustimmungen:
    0
    Ort:
    /dev/null
    Mensch Doomshammer,
    Du glaubst ja gar nicht, wie lang ich darüber nachgedacht und mir den Kopf zerbrochen hab!!!
    So einfach, tststss..
    :]!!REAL THNX, MAN!!:]
     
  7. #6 Doomshammer, 20.12.2002
    Doomshammer

    Doomshammer Aushilfs-Blowfish

    Dabei seit:
    15.12.2002
    Beiträge:
    95
    Zustimmungen:
    0
    Ort:
    Ostfriesland
    No Prob.

    Oder einfach das machen und in den Ausgegebenen Zeilen der man-pages Deiner Shell nachlesen ;)
     
  8. #7 moonlook, 20.12.2002
    moonlook

    moonlook !alleswissenwollen!

    Dabei seit:
    28.08.2002
    Beiträge:
    403
    Zustimmungen:
    0
    Ort:
    /dev/null
    Das auch inner Shell-Manpage steht, hätt ich mir denken können. Nur ist die so fett, dass ich danach echt keine Verlangen hatte.
    Aber wie kommst Du zu solch Konstrukten?
    Ist Sed so gut nutzbar( regex & Co.)? Dann sollt ich mir den mal genauer anschauen.

    Ein paar Tips währen nicht schlecht, was man als Doku mit einführenden Beispielen nutzen kann!
     
  9. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
  10. #9 Doomshammer, 24.12.2002
    Doomshammer

    Doomshammer Aushilfs-Blowfish

    Dabei seit:
    15.12.2002
    Beiträge:
    95
    Zustimmungen:
    0
    Ort:
    Ostfriesland
    Das sind einfach ein paar Spielereien. Diese Einzeiler kann man auch auf anderem Weg loesen, aber es macht immer wieder Spass ein paar "komplexere" Konstrukte zu basteln. Macht auch im Perl viel Spass (siehe. Sig.) ;)

    sed, (g)awk & Co. gehoeren eingentlich zu den Standardtools. die jeder beherrschen sollte, der Shell-Scripting unter *iX betreibt (IMHO)

    Links, hab ich so keinen parat. Hab eigentlich alles aus den man-pages und meinen O'Reilly Buechern. Falls Du Fragen hast, versuch ich aber gern sie zu beantworten.
     
  11. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    sed oder awk, das ist IMHO Geschmackssache, beides muss man sicher nicht beherschen . Awk ist eine komplette Programmiersprache, allerdings sehr langsam.
    Meist wird awk nur dazu verwendet innerhalb einer Zeile ein Textmuster zu suchen, die Zeile selbst findet man mit grep schneller.
     
  12. #11 rup, 24.12.2002
    Zuletzt bearbeitet: 24.12.2002
    rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
  13. #12 Doomshammer, 24.12.2002
    Doomshammer

    Doomshammer Aushilfs-Blowfish

    Dabei seit:
    15.12.2002
    Beiträge:
    95
    Zustimmungen:
    0
    Ort:
    Ostfriesland
    grep gehoert ebenfalls zu den Tools die man beherrschen sollte. Ebenso sind auch Tools wie find oder die Shelleigenen Schleifenformen IMHO ein muss. Wer schnell und effizient in der Shell arbeiten und programmieren moechte, kommt da nicht drumrum.

    Bsp:
    Warum sollte ich ein C-Programm schreiben das mir Bestimmte Dateien loescht, wenn ich es mit den Standard-UNIX-Tools um laengen schneller erledigen kann.

    Code:
    find /usr/src/linux -name *.h -exec rm -f {} \;
     
  14. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  15. #13 moonlook, 24.12.2002
    moonlook

    moonlook !alleswissenwollen!

    Dabei seit:
    28.08.2002
    Beiträge:
    403
    Zustimmungen:
    0
    Ort:
    /dev/null
    Thnx, Rup, das ist echt ein gutes Teil zur Einführung!
    Füher hab ich mich immer gefragt, wozu die massenhaften Tools zur Textbearbeitung unter Unix/Linux gut sein sollen und hab das alles weit von mir geschoben.
    Nach und nach brauche ich aber solche Tools wie sed, grep und Programmiersprachen wie awk/perl usw., um effizient auf der Konsole zu arbeiten, wie Doomshammer schon sagte.

    Und gleich mit Shellscripten perfekt Aufgaben zu erledigen ist einfach nicht möglich, ohne solche o.g. Tools zu kennen.
    Grundlagentraining nenn ich das und werds in nächster Zukunft auch betreiben.
    Ich denk, dass mich das Ganze genau so anregen wird wie der vim, der immer noch jederzeit bei näherer Beschäftigung
    Quell neuer Kenntnisse und Freude ist (Meinung aller Bekannten, die ich darauf gebracht habe, den vim als Standardedi zu präferieren):P
    Um eventuellen Flamewars aus dem Wege zu gehen, gilt dies sicherlich auch für andere Edi's wie emacs&co;)

    Alles in allem danke! Da hab ich dann erstma die nächsten Tage, Wochen genug zu tun.
     
  16. #14 Doomshammer, 24.12.2002
    Doomshammer

    Doomshammer Aushilfs-Blowfish

    Dabei seit:
    15.12.2002
    Beiträge:
    95
    Zustimmungen:
    0
    Ort:
    Ostfriesland
    Nunja, vi(m) regelt ja nunmal auch! :)
    http://doomshammer.ath.cx/~doomy/vi.jpg
    http://doomshammer.ath.cx/~doomy/vim-html.jpg
    http://doomshammer.ath.cx/~doomy/mutt.jpg (vim als Editor fuer mutt)
     
Thema: Kommandosubstitution?
Besucher kamen mit folgenden Suchen
  1. kommando substitution

Die Seite wird geladen...

Kommandosubstitution? - Ähnliche Themen

  1. Kommandosubstitution und egrep

    Kommandosubstitution und egrep: Hallo, ich bin auf einem debain-basierendem System mit der Shell (möglicherweise auch die dash, ist leider nicht mein Server) unterwegs Ich...