Ну, сначала вы grep для HWaddr, так что пятое поле в этой строке - это MAC-адрес рассматриваемого сетевого адаптера, а не ваш локальный IP-адрес.
Другие предположили, что решение состоит в том, чтобы просто повторить результат, означающий, что если eth0 в этом примере недоступен в тот момент времени, когда выполняется строка, она не будет работать.
Из того, что я понимаю, вы хотите вместо этого поместить нужную командную строку в переменную, а затем оценить это .Этот шаблон обычно называют отложенной оценкой и делает возможным в bash с помощью встроенного eval :
#put the desired command in variable
CASS_INTERNAL='ifconfig eth0 | grep HWaddr | awk "{print \$5}"'
# ....
#at later on - evaluate its contents!
eval $CASS_INTERNAL
11:22:33:aa:bb:cc