osx - How to define a series of bash commands as a string? -
right of code in .zshrc file looks this:
inetfunction(){ echo ${lred}ip address:${nc} ifconfig en0 | grep "inet " | awk '{print $2}' }
$lred defined changing color light red, , $nc setting normal. implement inetfunction code alias inet='inetfunction'
. output of command is
ip address: xx.x.xx.xxx
where "ip address:" in red. wanted make ip address green, reason, when try of these, doesn't work:
${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}'
i tried setting whole thing variable like:
variable='ifconfig en0 | grep "inet " | awk '{print $2}''
and trying echo ${green} $variable
, still doesn't work.
any ideas?
$green
needs echoed. it's set of ansi color codes terminal recognizes signal change text color.
echo -n "$green" ifconfig en0 | grep "inet " | awk '{print $2}' echo -n "$nc"
or, condensed:
echo "$green$(ifconfig en0 | grep "inet " | awk '{print $2}')$nc"
also, @jens points out can combine grep , awk commands so:
echo "$green$(ifconfig en0 | awk '/inet / {print $2}')$nc"
Comments
Post a Comment