Gerade jetzt einige der Code in meinem .zshrc Datei sieht wie folgt aus:Wie definiere ich eine Reihe von Bash-Befehlen als String?
inetFunction(){
echo ${LRED}IP Address:${NC}
ifconfig en0 | grep "inet " | awk '{print $2}'
}
$ LRED ist definiert als die Farbe Light Red ändern und $ NC ist es wieder normal Einstellung. Ich implementiere die inetFunction mit dem Code alias inet='inetFunction'
. Die Ausgabe des Befehls ist
wo die "IP-Adresse:" in rot ist. Ich wollte die IP-Adresse grün machen, aber aus irgendeinem Grund, wenn ich eine dieser versuchen, funktioniert es nicht:
${GREEN}ifconfig en0 | grep "inet " | awk '{print $2}'
ifconfig en0 | grep "inet " | ${GREEN}awk '{print $2}'
${GREEN}ifconfig en0 | grep "inet " | awk '{${GREEN} print $2}'
Ich habe sogar versucht, das Ganze zu einem variablen Einstellung wie:
variable='ifconfig en0 | grep "inet " | awk '{print $2}''
und dann versuchen, echo ${GREEN} $variable
zu tun, aber es funktioniert immer noch nicht.
Irgendwelche Ideen?
Wissen Sie, dass grep | awk ist ein dummes anti-Muster? awk kann das greppen: 'ifconfig en0 | awk '/ inet/{print $ 1}' '. Spart eine teure Gabel und ein Rohr. – Jens