Angerf1st Geschrieben 30. Oktober 2014 Geschrieben 30. Oktober 2014 Hallo zusammen, ich habe mir eben mal ein paar Skripte angeschaut die ich damals geschrieben habe. Jetzt ist es so das ich mich nicht mehr genau erinnern kann was folgende Zeile bewirkt: Hier der Auschnitt: for patch in ${liste[@]} do opatch lsinventory | grep ${patch##*/} y=`echo $?` if [ $y -ne 0 ]; then echo "Kein Patch gefunden fuer" ${patch##*/} fi done Was genau bewirkt bei grep ${patch##*/} dieses ##*/ ??? es hätte doch gereicht wenn ich einfach nach $patch gegrept hätte Zitieren
bummel Geschrieben 31. Oktober 2014 Geschrieben 31. Oktober 2014 Hallo, also es ist schon ein großer Unterschied, ob du noch $patch oder nach $patch##*/ grepst. Das "##*/" bedeutet das nach der Variable noch 2-n mal die Raute mit einem Slash am Ende kommt. Folgende Erläuterung ist evtl. leichter zu verstehen. An asterisk matches zero or more of the preceding character, class, or subpattern. For example, a* matches ab and aaab. It also matches at the very beginning of any string that contains no "a" at all. Wildcard: The dot-star pattern .* is one of the most permissive because it matches zero or more occurrences of any character (except newline: `r and `n). For example, abc.*123 matches abcAnything123 as well as abc123. Gruß Bummel Zitieren
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.