Gerar URL de login do Plesk via terminal é uma automação simples, mas os erros mais comuns em Bash tornam o comando frágil em produção. Neste artigo, mostro o que falhou no modelo com alias e como transformei em função confiável para uso diário em operações.
Erro inicial e por que acontece#
Tentativa problemática:
alias plesklogin = token=$(plesk login | cut -d/ -f4) || echo "https://0.0.0.0:8443/$token"
Falhas técnicas:
aliasnão aceita espaços em=;- expansão de variável fora do contexto esperado;
||executa na falha, não no sucesso;- sem controle de retorno do comando
plesk login.
Modelo correto: função com fluxo explícito#
plesklogin() {
local host="${PLESK_HOST:-your-server-ip}"
local raw token
raw="$(plesk login 2>/tmp/plesklogin.err)"
if [ $? -ne 0 ] || [ -z "$raw" ]; then
echo "Erro ao gerar token de login." >&2
cat /tmp/plesklogin.err >&2
return 1
fi
token="$(printf '%s' "$raw" | awk -F/ '{print $NF}')"
if [ -z "$token" ]; then
echo "Token vazio ou formato inesperado: $raw" >&2
return 1
fi
echo "https://${host}:8443/${token}"
}
Boas práticas que adotei#
1) Evitar parsing frágil#
Se o formato de saída do Plesk mudar, cut -d/ -f4 quebra. Prefiro extrair o último segmento com awk -F/ '{print $NF}' e validar retorno.
2) Tratar erro de permissão#
plesk login pode falhar por usuário sem privilégio administrativo. Sempre propague erro com return 1.
3) Não logar token sem necessidade#
Token de login é sensível. Evito salvar em histórico/log persistente.
Integração com clipboard e browser (opcional)#
Linux com xclip:
plesklogin | tee /tmp/plesk-url.txt | xclip -selection clipboard
Abrir direto no navegador:
xdg-open "$(plesklogin)"
Persistência da função#
Adicionar em ~/.bashrc:
nano ~/.bashrc
source ~/.bashrc
Para Zsh:
nano ~/.zshrc
source ~/.zshrc
Endurecimento para ambiente multiadmin#
Para times com múltiplos administradores, adiciono guardas para evitar uso sem contexto:
plesklogin() {
[ "$(id -u)" -eq 0 ] || { echo "Execute como root ou usuário autorizado" >&2; return 1; }
command -v plesk >/dev/null 2>&1 || { echo "plesk CLI não encontrada" >&2; return 1; }
# restante da função...
}
Também removo arquivo temporário de erro após execução para não deixar rastro:
rm -f /tmp/plesklogin.err
Validação pós-implementação#
Checklist que uso:
- função retorna URL válida em shell limpo;
- função falha com código não-zero quando
plesk loginfalha; - token não fica salvo em histórico;
- execução funciona em
bashezshno host operacional.
Considerações práticas#
Trocar alias por função foi o ponto que transformou automação instável em ferramenta operacional confiável. Em shell, escopo de variável, parse robusto e tratamento explícito de falha são o que separa atalho rápido de rotina profissional.
Este artigo foi útil?
Deixe uma reação rápida para apoiar o conteúdo:
Este post está licenciado sob CC BY-NC.



Comentários
Participe da discussão abaixo.
0 comentários