argonsputter schrieb:
rklm schrieb:
argonsputter schrieb:
Habe eben parallel folgendes gemacht..was deiner Lösung entspricht
| varxy='du -sh /tmp/test/'
$varxy |cut -c1-3
|
Die Variable varxy ist überflüssig. Welche Rolle soll die hier spielen? ...
Ich möchte die Ausgabe ja verarbeiten, sprich in einer If Abfrage vergleichen. Daher die Verschachtelung in eine Variable.
Du benutzt aber die Variable "varxy" hier, um eine Befehlszeile in ihr zu speichern, die Du dann sofort in der nächsten Zeile ausführst. Das is wenig sinnvoll, denn Du blähst nur unnötig den Code auf. Eine Variable benutzt man ja, wenn man einen Wert mehrfach verwenden oder das (Zwischen-) Ergebnis einer Berechnung dort ablegen will.
Mir war nicht bewusst, dass ich das Ergebnis in die If Bedingung einbauen kann.
Egrep ist mir völlig neu, erlaube mir den Befehl zu erörtern.
-o → only matching → es dürfen nur die zutreffenden Ergebnisse angezeigt werden und das in einzelnen Zeilen , um meine Suche besser einzugrenzen(?). Verstehe ich ehrlich gesagt nicht.
Die Option "-o" bewirkt, dass nur der Teil der Zeile ausgegeben wird, der von dem Muster erfasst wird. Das normale Verhalten der Programme aus der grep
-Familie ist es, die gesamte Zeile auszugeben.
'^[0-9]+' → ^ soll Leerzeichen davor erkennen,
Nein, das Caret ("^") ist der Anker für den Zeilenbeginn, so dass das Muster nur gefunden wird, wenn es am Anfang der Zeile beginnt.
0-9 ist der Range, also eine Ziffer von 0-9 die mindestens einmal vorkommen darf und auch mehrmals das darf (+)
Genau. Zusammengenommen erfasst das Muster beliebig lange Folgen von Ziffern (mindestens eine), die am Zeilenanfang stehen.
-gt gehört nicht mehr zum egrep Befehl..nur worauf bezieht er sich? Auf das If?
Nein, der gehört zu dem Befehl [
(siehe auch test
auf der Manpage der Shell oder in der bash
Referenz).
Da der Benutzer nur 100MB frei hat, wird es immer ein dreistelliger Zahlenwert sein. Das sollte also abgesichert sein.
Ja, und dann kopierst Du das Skript irgendwann mal auf einen anderen Rechner und es geht schief, ohne dass sofort ersichtlich wäre, woran es liegt. Wieso sollte man an einer Version festhalten, die solch eine Begrenzung hat, wenn man es mit dem gleichen Aufwand auch robust haben kann?