Ich bin wirklich neu mit Bash, aber es ist eines der Themen in der Schule. Eine der Übungen war:Bash: grep Muster von Befehlsausgabe
Geben Sie die Zeilennummer der Datei "/ etc/passwd" an, wo sich die Informationen zu Ihrem eigenen Login befinden.
Angenommen USERNAME
meine eigene Login-ID ist, konnte ich es perfekt auf diese Weise tun:
cat /etc/passwd -n | grep USERNAME | cut -f1
, die einfach die Zeilennummer gab erforderlich (es kann eine optimierte Art und Weise). Ich fragte mich jedoch, ob es einen Weg gab, den Befehl allgemeiner zu machen, so dass er die Ausgabe von whoami
verwendet, um das grep-Muster darzustellen, , ohne eine Variable zu schreiben oder zu verwenden. Mit anderen Worten, es zu halten, einen einfach zu lesende einzeiligen Befehl, etwa so:
cat /etc/passwd -n | grep (whoami) | cut -f1
Sorry, wenn dies eine wirklich Noob Frage.
Okay, Backticks ... Natürlich :) Danke! – MarioDS
Ohne Verankerung kann dies zu falschen Übereinstimmungen führen, wenn Ihr Anmeldename mit einer anderen Stelle in der Zeile übereinstimmt. Ich hatte einen kurzen Login-Namen auf einem lokalen System, das passierte (ein Teilstring von) "System Operator", so dass einige dumme Software dachte ich wäre "root", wenn ich nicht war. – tripleee