Primeiro, não funciona do jeito que você pensa.
Os comandos no script são executados em seqüência. O su
(teve sucesso) executaria uma sessão de shell interativa e aguardaria a entrada do usuário (comandos). Somente quando o su
existir, o segundo whoami
será executado (mostrando username
).
De qualquer forma, seu su
não funciona de fato.
Primeiro, o su
com certeza envia alguma mensagem de erro. O que é isso? Você captura apenas uma saída padrão em seus comandos. Capture uma saída de erro também ( 2>&1
). É mais provável que ele falhe, porque su
pode precisar de um terminal interativo, enquanto o Plink com -m
usa terminal não interativo por padrão. Adicionar -t
switch ajuda nesse caso.
Observe que a automação de su
geralmente é uma má ideia. Se você precisar executar alguns comandos que exijam privilégios de root, uma solução melhor é associar uma chave privada dedicada aos comandos no arquivo sudoers
. E, em seguida, use sudo
e chave privada no Plink.