Como fazer ssh na máquina remota e criar um novo usuário no script bash

2

Eu estou escrevendo um script bash e gostaria de fazer ssh em uma máquina remota e executar o comando adduser. Isso não está funcionando, tudo o que eu recebo é o --help text para adduser quando eu executar o código abaixo.

ssh [email protected] 'useradd $username; mkdir /home/$username;' || echo "Unable to create user on pizza.cs.fredonia.edu";;

Ubuntu 14.01

    
por mrplow911 17.09.2014 / 04:54

1 resposta

4

Você já tentou usar as aspas duplas? Dentro de aspas simples, o BASH não expandirá a variável $ username.

Por exemplo, se $ username = bob, esse comando expandirá a variável:

ssh user@hostname "useradd $username; mkdir /home/$username;" 

a parte citada será expandida para:

useradd bob; mkdir /home/bob;

Mas, se você usa aspas simples, assim:

ssh user@hostname 'useradd $username; mkdir /home/$username;'

Em seguida, a parte citada permanece inalterada. Será interpretado como:

useradd $username; mkdir /home/$username;

BTW, o; no final, após $ username, não é necessário.

    
por 17.09.2014 / 05:49

Tags