On 24/05/14 21:24, Аl Воgnеr wrote:
Am Sa, 24 Mai 2014 19:35:18 CEST schrieb David Haller:
Hallo,
Am Sat, 24 May 2014, susan_ivanova@vimutik.de schrieb:
Warum nicht:
gefunden=$(cat /proc/mounts | grep -c Ordner)
UUOC!
Ob das jede/r versteht? LOL, so ganz verzichte ich auf diesen Preis direkt in der Shell auch nicht, weil es manchmal leichter zum Löschen in der Konsole ist.
Interaktiv ergibt sich das häufiger, dass man ein cat in eine vorbereitete Pipe loslässt. In einem Skript macht es natürlich durchaus Sinn, statt dieses überfüssige cat direkt aus der Datei zu lesen.
if grep -q ' /Ordner ' /proc/mounts/; then : ... else : ... fi
So habe ich das auch in Verwendung, aber gebe gerne zu, dass die Empfehlung dazu von David kam ;-)
Ich empfehle daher seit Jahren jedem immer "test" zu verwenden, und nicht die ' [ .. ] ' Version.
Grundsätzlich oder nur in diesem Fall?
Wenn ich nach einer leeren Variablen teste, verwende ich test -z, sonst aber dieses if ...
Ja, so ähnlich handhabe ich es auch. Im Prinzip ist es eine Geschmackssache. Die eckigen Klammern haben halt den Vorteil, dass sie vom Auge schneller erfasst werden können, um die Struktur eines Programms zu erkennen. Als C-Programmierer bevorzuge ich auffälligere Symbole wie runde, eckige oder geschweifte Klammern gegenüber Wörtern wie test (bash) oder begin und end (z.B. Pascal). Ich verwende aber sogar beides - manchmal auch im selben Skript! - selbst wenn das stilistisch verworren wirkt - manchmal kommt dann der kleine Anarcho-Rebell in mir hervor. Eigentlich mag ich jedes Programm stilistisch schön einheitlich. :-) Mach's einfach so, dass Du die Struktur Deines Programms am besten lesen kannst. G, C* -- "Seit die Mathematiker über die Relativitätstheorie hergefallen sind, verstehe ich sie selbst nicht mehr." (“Since the mathematicians have invaded the theory of relativity I do not understand it myself any more.”) - Albert Einstein