J'essaie d'écrire un scipt de shell qui crée des répertoires sur un serveur distant, puis utilise scp pour copier des fichiers de mon ordinateur local sur la télécommande. Voici ce que j'ai jusqu'à présent:
ssh -t user@server<<EOT
DEP_ROOT='/home/matthewr/releases'
datestamp=$(date +%Y%m%d%H%M%S)
REL_DIR=$DEP_ROOT"/"$datestamp
if [ ! -d "$DEP_ROOT" ]; then
echo "creating the root directory"
mkdir $DEP_ROOT
fi
mkdir $REL_DIR
exit
EOT
scp ./dir1 user@server:$REL_DIR
scp ./dir2 user@server:$REL_DIR
Chaque fois que je le lance, je reçois ce message:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Et le script se bloque pour toujours.
Ma clé publique est approuvée sur le serveur et je peux exécuter toutes les commandes en dehors du script. Des idées?