Erreur de script sous ubuntu pour se connecte

benichou -  
 benichou -
Bonjour,
Je suis sous ubuntu depuis 2 ans environ enivron, mais je suis nul en programmation...
Voila mon problème:
Je souhaite connecter des postes client (edu)ubunut (8.10, 7.04, 7.10 par exemples) sur un serveur COMEDU utilisé dans l'éducation. Les Scripts pour se connecter son disponible ici ->http://profetice.org/comedu/article.php3?id_article=110.
J'ai réalisé des essais sur un serveur COMEDU 2 en fonctionnement dans l'établissement et sur mon PC personnel avec un serveur COMEDU 2 sous VMware et j'obtiens toujours le même résultats:


Code:

benjamin@ben-PC-Ubuntu:~$ cd '/home/benjamin/Bureau/samba_login_ubuntu'
benjamin@ben-PC-Ubuntu:~/Bureau/samba_login_ubuntu$ sudo sh samba_login.sh
[sudo] password for benjamin:
: not found.sh: 2:
: not found.sh: 3:
samba_login.sh: 9: Syntax error: "else" unexpected (expecting "then")
benjamin@ben-PC-Ubuntu:~/Bureau/samba_login_ubuntu$

Une fenaitre de connection apparait, je rentre mon nom d'utilisateur puis tout disparait?????
J'ai essayé de poser mon problème sur la liste de diffusion COMEDU mais pas de réponse.

Peut être un problème bête pour vous?

Benjamin
Si vous avez des idées ou si vous voulez plus de précision ... dites le moi!!
merci



Voici le SCRIPT:

Code:

#!/bin/sh



login=$(zenity --title="connection à l'espace perso" --entry --text="Entrez votre nom d'utilisateur:");

if test $login ; then

pass=$(zenity --title="connection à l'espace perso" --entry --text="mot de passe");

if test $pass ; then

echo "continuer";



else

echo "annulation password"

exit 0;

fi

else



echo "annulation login";

exit 0;

fi

echo "je continue mon script";





mkdir /home/$USER/Desktop/home_$login







if smbmount //serveur/home /home/$USER/Desktop/home_$login -o username=$login,password=$pass; then

echo "Montage reussi"

else



zenity --title="echec de la connection" --warning --text="\n Mot de passe et/ou login invalide "

rmdir /home/$USER/Desktop/home_$login

exit 0

fi





if test -f /home/$USER/Desktop/home_$login/profs.txt

then

mkdir /home/$USER/Desktop/profs

smbmount //serveur/profs /home/$USER/Desktop/profs -o username=$login,password=$pass



else



classe=$(cat /home/$USER/Desktop/home_$login/login/classe.txt)



mkdir /home/$USER/Desktop/comm_$classe

mkdir /home/$USER/Desktop/prof_$classe





smbmount //serveur/comm_$classe /home/$USER/Desktop/comm_$classe -o username=$login,password=$pass

smbmount //serveur/prof_$classe /home/$USER/Desktop/prof_$classe -o username=$login,password=$pass



fi



touch /home/$USER/.login.txt

echo $login >> /home/$USER/.login.txt
A voir également:

4 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

J'ai récupéré le script sur le site et il s'avère que les fins de lignes se terminent par les caractères "^M$" (retour chariot + fin de ligne) propres à M$ ;-((

Il te faut changer ces fins de lignes soit avec la commande "dos2unix" si installée soit avec un petit coup de "sed", voir Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF).
0
benichou
 
En fait, lorsque j'ouvre le script SOUS ubuntu avec un bete traitement de texte, les lignes ne se terminent pas par les caractères "^M$" !!!
Je ne dois certainement pas tout comprendre!!!
Je dois ouvrir samba_login.sh avec un logiciel de programmation?

Benjamin
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Oups je t'avais zappé ;-(

Ouvres un terminal, rends-toi dans le répertoire contenant ton fichier et affiches-le avec cette commande :
cat -A samba_login.sh
0
benoïte
 
Question interessante..... je vais voir ce que je peux faire.
0
benichou
 
OK j'ai remarque les ^M a la fin de chaque ligne.
J'ai converti avec la ligne de commende dos2unix
j'ai relancer mon programme et cette fois si ca "fonctionne" un peu mieux.
Je test chez moi pour le moment su mon pc ubuntu et le serveur virtuel avec VMWARE et j'ai le message d'erreur:
continuer
je continue mon script
mount error: could not find target server. TCP name serveur/home not found
No ip address specified and hostname not found

Sans doute a cause de la vitualisation du serveur. Je vais essayer demain avec le "vrai" serveur"

Merci de ton aide jipicy
0