Concaténer une variable dans une commande perl

Tags: #<Tag:0x00007fc9e29192a0> #<Tag:0x00007fc9e2919188> #<Tag:0x00007fc9e29190c0>

salut, j’essais de mettre ca :

useradd -m -d /home/UTILISATEUR -s /bin/bash UTILISATEUR -p $(perl -e'print crypt("MDP","aa")');

dans un script bash

j’ai fait

#!/bin/sh
useradd -m -d /home/$1 -s /bin/bash $1 -p $(perl -e'print crypt("$2","aa")');

mon problème se situe au niveau du mot de passe. je n’arrive pas à inclure le mdp.
J’essais la concaténation, ou bien à stocker le résultat de crypt dans une variable mais rien n’y fait :frowning:

J’ai trouvé un script sympa

       if [ $? -eq 0 ]; then
               echo "$username exists!"
               exit 1
       fi
pass=$(perl -e 'print crypt($ARGV[0], "password")' $2)
useradd  -m -d /home/$1 -s /bin/bash -p $pass $1