guslan Geschrieben 5. Juni 2002 Teilen Geschrieben 5. Juni 2002 Hallo! Ich möchte eine Prozedur schreiben , der mir den Hostnamen von dem Rechner anzeigt und die FreeBSD Version Nummer ausgibt. Geht das überhaupt? Und wenn ja, wie??:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 6. Juni 2002 Teilen Geschrieben 6. Juni 2002 Ja, klar geht das. Schau dir mal die manualpages zu "uname" und "hostname" an. Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
guslan Geschrieben 6. Juni 2002 Autor Teilen Geschrieben 6. Juni 2002 Super. Jetzt kann ich meine Prozedur schreiben! Und wie kann ich die in Variable einsetzen?? So geht es ja nicht!!! host=hostname Version=uname Weißt jemand das?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 6. Juni 2002 Teilen Geschrieben 6. Juni 2002 Original geschrieben von guslan Super. Jetzt kann ich meine Prozedur schreiben! Und wie kann ich die in Variable einsetzen?? So geht es ja nicht!!! host=hostname Version=uname Weißt jemand das?? Du musst richtig Quoten, damit die Ausgabe der Kommandos auch tatsaechlich in den Variablen landet: #!/bin/sh hname=`hostname` vname=`uname -r` Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Original geschrieben von nic_power #!/bin/sh hname=`hostname` vname=`uname -r` Was ich hier noch schlauer finde ist diese Möglichkeit: #! /bin/sh hname=$(hostname) vname=$(uname -r) denn wenn du diese Möglichkeit nutzt dann kannst du 1. besser, sprich übersichtlicher quotieren und 2. du hast schlicht und einfach mehr Möglichkeiten. Ps: also funktionalen Unterschied gibts keinen - zumindest ist mir keiner bekannt, aber erstens ist es besser lesbar und zweitens ist kein Verbrauch an Hochkommas bzw. Rückwärtshochkommas gegeben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Original geschrieben von Schlaubi ... und zweitens ist kein Verbrauch an Hochkommas bzw. Rückwärtshochkommas gegeben. Wieso? Werden die langsam knapp? . Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Ja die sind sehr teuer geworden wegen dem Euro - nein mal Spaß bei Seite - du weißt sicherlich was ich meine oder? ;-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
first_unix_nutzer Geschrieben 10. Juni 2002 Teilen Geschrieben 10. Juni 2002 Original geschrieben von Schlaubi Ja die sind sehr teuer geworden wegen dem Euro - nein mal Spaß bei Seite - du weißt sicherlich was ich meine oder? ;-) Ne Schlaubi, weiß ich nicht! Warum denn? Hochkommas sind doch besser!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DanielB Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 ` ` -> Alte Form $() -> Neuere Form Also Schlaubi, erleuchte uns doch mal mit dem was Du meinst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 Oh, jetzt tut nicht so Ich hab doch gesagt - von der Funktionalität gibt es keinen Unterschied.... Aber es ist doch eindeutig übersichtlicher, dies hier zu benutzen: x=$('cat x') als dies hier: x="'`echo x`'" oder etwa nicht?? Und wenn sie oben nicht verbraucht werden - hat man sie unten eben noch frei ...und könnte sie einsetzen, falls man an Grenzen stößt, dies kann man im obigen Fall jedoch nicht, da die Shell nimmer weiß - welche Hochkommas, Doppelhochkommas oder Rückwärtshochkommas zusammen gehören. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DanielB Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 Hmmm.... nein. Einfacher wäre : x="x" oder x=`echo x` Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nic_power Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 Original geschrieben von Schlaubi Aber es ist doch eindeutig übersichtlicher, dies hier zu benutzen: x=$('cat x') als dies hier: x="'`echo x`'" oder etwa nicht?? Das ist Uebungssache . Nic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 12. Juni 2002 Teilen Geschrieben 12. Juni 2002 nein, Jungs das hat nix mit Übungssachen zu tun, ich hab die Syntax früher ausschließlich benutzt, aber ich bin jetzt umgestiegen, weil es einfach (für mich) übersichtlicher ist, denn... auch bei: x=x bzw. x=`echo x` sollte man, damit es eindeutig - für die Shell bleibt dies so machen.... x="x" x="`echo x`" aber das ist Ansichtssache, also lassen wir das schönen Abend noch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.disk Geschrieben 12. Juni 2002 Teilen Geschrieben 12. Juni 2002 Was mit der alten Notation ebenfalls nicht geht sind Verschachtelungen: Bsp: echo `cat `ls`` geht einfach nicht, dafür funktionier aber echo $(cat $(ls)) wunderbar. Mir sind schon öfter Fälle begegnet bei denen so eine Verschachtelung ganz praktisch ist - mir fällt leider gerade keine ein... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 13. Juni 2002 Teilen Geschrieben 13. Juni 2002 @ dr.disk, du sprichst mir aus der Seele @ all sowas ist auch ein Grund, warum die neuere Form einfach schlauer anzuwenden ist. Einfach weil es beim alten nicht funktioniert und wenn du mal ein Shellskript basteln willst, dass nicht ganz trivial ist und du diese Verschachtelungen von Kommandos benötigst, dann stößt du mit der alten Form an die Grenze der Übersichtlichkeit. Es soll ja schließlich ein zweiter auch noch den Code des Programmierers blicken. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DanielB Geschrieben 17. Juni 2002 Teilen Geschrieben 17. Juni 2002 Original geschrieben von dr.disk Was mit der alten Notation ebenfalls nicht geht sind Verschachtelungen: Bsp: echo `cat `ls`` geht einfach nicht, dafür funktionier aber echo $(cat $(ls)) wunderbar. Mir sind schon öfter Fälle begegnet bei denen so eine Verschachtelung ganz praktisch ist - mir fällt leider gerade keine ein... echo `cat \`ls\`` Vobei mir beim Besten Willen nichts einfällt, wo ich ein solches Konstrukt brauchen könnte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 24. Juli 2002 Teilen Geschrieben 24. Juli 2002 Original geschrieben von DanielB echo `cat \`ls\`` dieser Befehl lässt meine Shell cryptische Ausgaben machen, die dann meinen Rechner piepen lassen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.