O hostnamectl
comando gera algumas informações bem formatadas que incluem seu nome de host, mas não inclui o nome de domínio totalmente qualificado (FQDN), como hostname -f
.
Como um meio de aprender mais sobre como controlar a formatação de saída do bash, estou querendo combinar esses dois comandos em um comando de uma maneira em que o segundo comando adere ao alinhamento de saída do primeiro comando.
hostnamectl ; fqdn=$(hostname -f) ; echo -e "\t\tFQDN:\t${fqdn}"
Observe, no entanto, que não consegui alinhar FQDN:
consistentemente com a saída do primeiro subcomando.
Existe um comando que me permita formatar a segunda base de saída no alinhamento da primeira saída sem script? Suspeito que não, mas pensei em perguntar.
Se você estiver satisfeito em apenas definir o alinhamento estaticamente, poderá fazer algo assim:
O
%18s
especificadorprintf
imprime essa string em um campo de 18 caracteres de largura, alinhado à direita. (%-18s
seria alinhado à esquerda.)Você também pode realinhar toda a saída com, por exemplo, awk:
(supondo que haja apenas um
:
em cada linha)Ou faça com que o script awk verifique a posição do
:
na primeira linha e alinhe tudo com isso:(Ter uma ferramenta para verificar a saída de
hostnamectl
e, em seguida, fornecer a posição dos dois pontos para onde você imprime o FQDN e ter a saída para o terminal ao mesmo tempo exigiria um redirecionamento confuso. É muito mais fácil dessa maneira.)