• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[ Solved ]Wechsel der Shell und ploetzlich geht Wildcard

byron1778

Hacker
Hallo Forum!

Eigentlich habe ich keine Frage, sondern wollte nur mal einen Hinweis geben ( aber vll. weiss jemand doch die Loesung ! ich nicht )

Unter solaris 10 konnte ich feststellen, wenn ich mich anmelde als root ( ich weiss man sollte es nicht, aber naja .. ) und als erste Shell eine sh verwende, dann umschalte auf bash, jetzt den User wechsle und der User eine csh als erste Shell verwendet, wiederum wechsle auf bash, dann geht ein ps -ef | grep -i irgendwas* ueberhaupt nicht mehr.
Er findet keinen Prozess mit so einem Namen!

Ich muss die Wildcard mit \ markieren, dann hat es gefunkt.

War ein wenig seltsam.
Den User wechsle ich immer mit su - user

Vll. schafft es jemand zu reproduzieren?!
 

regexer

Advanced Hacker
byron1778 schrieb:
ps -ef | grep -i irgendwas*
[...]
Ich muss die Wildcard mit \ markieren, dann hat es gefunkt.
Sofern der stern zum grep-Suchbegriff gehört sollte man ihn sowieso immer quoten. Was ist, wenn sich zufällig im aktuellen Verzeichnis eine Datei mit Namen "irgendwasxxx" befindet?
 
A

Anonymous

Gast
byron1778 schrieb:
Vll. schafft es jemand zu reproduzieren?!
soviel Aufwand muss ich da gar nicht betreiben. Anmeldeshell ksh und schon ist bei machen suchbegriffen hinter grep irgendwas* das Problem da. Brauchst ja nur mal
Code:
ps -ef | grep /usr/*
vorzustellen (möglichst nicht als root ausprobieren) , und was da schon auf der Shellebene daraus wird, und damit kommen dann auch promt Fehlermeldungen (als user) "grep kann /bin/befehl nicht öffnen"

Also wie notoxp schon geschrieben hat, das dir das bei Solaris mehr auffällt, liegt an dem grep Befehl im Solaris und auch anderen UNIX-BS, der ist etwas sensibler als unter Linux.
und in der Manpage (Solaris8) steht es auch ganz groß drin.

Manpage schrieb:
Be careful using the characters $, * ,[ , ^ , | , ( , ) ,and \
in the pattern list because they are also meaningful to the shell. It is safest to enclose the entire pattern list in single quotes ' .......' .

robi
 

regexer

Advanced Hacker
noch ein Tipp:
Code:
ps -ef | grep '[i]rgendwas'

Das verhindert, dass der grep in der Prozessliste sich selbst findet. 's*' bedeutet übrigens: Beliebig viele buchstaben "s", das würde auch sssss treffen.
 
Oben