Você tem uma função que gera um número de série e outra que gera um URL. Para combinar as duas saídas:
url="$(apple_link)$(serial_number)"
Ou na função apple_link :
local appleurl="https://support.apple.com/specs/$(serial_number)"
O $( ... ) será expandido para a saída do comando.
A única coisa a ser alterada é remover o echo "" .
Se você quiser fazer isso corretamente:
serial_number () {
system_profiler SPHardwareDataType | awk '/Serial/ { print $4 }'
}
apple_link () {
printf 'https://support.apple.com/specs/%s\n' "$( serial_number )"
}
Observe que não há necessidade de usar variáveis em lugar nenhum ou echo de nada. O printf está lá porque é uma alternativa mais segura para echo . Veja Por que o printf é melhor que o eco?