Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Prozedur

Empfohlene Antworten

Veröffentlicht

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:

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

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

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.

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

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.

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

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

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

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.

  • 1 Monat später...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.