Zum Inhalt springen

Prozedur


guslan

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ 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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...