Будет ли следующий фрагмент делать то, что вы спрашиваете?
dscl localhost -readpl /Local/Default/Users/$(id -un) dsAttrTypeNative:LinkedIdentity mac.com | grep -A1 '>name<' | sed -n 's/.*string>\(.*\)<\/string>.*/\1/p'
Первый элемент читает связанный идентификатор mac.com из служб каталогов для пользователя, выполняющего запрос, следующий элемент находит поле имении последний элемент берет имя пользователя .mac и отображает его.
, чтобы поместить его в буфер обмена, вы вводите эту команду со следующим окончанием:
dscl localhost -readpl /Local/Default/Users/$(id -un) dsAttrTypeNative:LinkedIdentity mac.com | grep -A1 '>name<' | sed -n 's/.*string>\(.*\)<\/string>.*/\1/p' | pbcopy
, которая копирует значениев буфер обмена (этот бит я пропустил в вопросе ранее)