Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/07/2007, à 06:53

vo0do0

[résolue] Script Bash, problème de syntaxe...

Bonjour!
Je souhaite réaliser un paquet pour installer certains codecs vidéo propriétaire tel que real video, quicktime...
j'utilise un script shell (bash) et "checkinstall" pour réaliser se paquet.

mon script est le suivant :

# !/bin/bash
repertoire_nom_principal="/usr/lib/win32"
repertoire_nom_annexe=("/usr/local/lib/codecs/" "/usr/lib/codecs") #ligne de l'erreur
repertoire_nom_annexe_index=0
repertoire_taille_annexe=${#repertoire_nom_annexe[*]}


tableau_extension=(".ax" ".drv" ".dll" ".xa" ".acm" ".vwp" ".so" ".so.6.0" ".DLL" ".qtx" ".qts")
tableau_taille=${#tableau_extension[*]}
tableau_index=0

if [ ! -d $repertoire_nom_principal ]
then
        mkdir $repertoire_nom_principal
fi

while [ $repertoire_nom_annexe_index -ne $repertoire_taille_annexe ]
do
        if [ ! -d ${repertoire_nom_annexe[$repertoire_nom_annexe_index]} ]
        then
                mkdir ${repertoire_nom_annexe[$repertoire_nom_annexe_index]}
        fi
        repertoire_nom_annexe_index=`expr $repertoire_nom_annexe_index + 1`
done

while [ $tableau_index -ne $tableau_taille ]
do
        nombre_fichier=`ls -l | grep ${tableau_extension[$tableau_index]} | cut -c 54- | wc -l`
        echo $nombre_fichier
        tableau_index=`expr $tableau_index + 1`
done

en exécution "normal" le resultat est le suivant :

voodoo@linux:~/win32codec$ ./install 
mkdir: ne peut créer le répertoire `/usr/lib/win32': Permission non accordée
mkdir: ne peut créer le répertoire `/usr/local/lib/codecs/': Permission non accordée
mkdir: ne peut créer le répertoire `/usr/lib/codecs': Permission non accordée
13
7
66
9
17
2
14
11
3
4
1

en exécution "root" cela donne :

voodoo@linux:~/win32codec$ sudo ./install 
Password:
./install: 18: Syntax error: "(" unexpected

..le script est le même dans les deux cas, mais quand je l'exécute en super utilisateur il me retourne une erreur. Quelqu'un connaîtrais t'il la  raison de cette erreur? sad

merci

Dernière modification par vo0do0 (Le 04/07/2007, à 11:37)

Hors ligne

#2 Le 04/07/2007, à 09:25

vo0do0

Re : [résolue] Script Bash, problème de syntaxe...

un petit peut d'aide ne me ferais pas de mal... roll merci

Hors ligne

#3 Le 04/07/2007, à 09:54

toto4455

Re : [résolue] Script Bash, problème de syntaxe...

le probleme semble venir de l'affectation du tableau.

voodoo@linux:~/win32codec$ sudo ./install
Password:
./install: 18: Syntax error: "(" unexpected

on dirais que par le sudo , les tableaux de bash ne passent plus .

# !/bin/bash
tab=("un" "deux" "trois")
echo "tab[1]=" ${tab[1]}
./t.sh 
tab[1]= deux
 sudo ./t.sh 
./t.sh: 2: Syntax error: "(" unexpected
sudo bash -c ./t.sh 
tab[1]= deux

tu devrais essayer en utilisant la syntaxe suivante.
cela semble marcher

 sudo bash -c ./monscript.sh

#4 Le 04/07/2007, à 11:31

vo0do0

Re : [résolue] Script Bash, problème de syntaxe...

je te remerci big_smile je test sa tout de suite et je te dit se que sa donne...

edit : Oui en effet sa marche sans problème de cette manière... je ne comprend toujours pas pourquoi sa retourne cette erreur... mais l'important c'est déjà que le script fonctionne! wink merci

Dernière modification par vo0do0 (Le 04/07/2007, à 11:36)

Hors ligne

#5 Le 04/07/2007, à 13:33

Link31

Re : [résolue] Script Bash, problème de syntaxe...

Parce qu'un simple sudo semble lancer la commande dans le shell de base sh...

Hors ligne

#6 Le 04/07/2007, à 13:42

vo0do0

Re : [résolue] Script Bash, problème de syntaxe...

pourtant malgré "sudo", grace à :

# !/bin/bash

il devrait comprendre que c'est du bash...:/

Hors ligne

#7 Le 04/07/2007, à 13:43

Link31

Re : [résolue] Script Bash, problème de syntaxe...

vo0do0 a écrit :
# !/bin/bash

Euh, un shabang ça s'écrit plutôt comme ça :

#!/bin/bash

Hors ligne

#8 Le 04/07/2007, à 15:55

vo0do0

Re : [résolue] Script Bash, problème de syntaxe...

je ne le savait pas smile

wink

Hors ligne

#9 Le 04/07/2007, à 16:02

vo0do0

Re : [résolue] Script Bash, problème de syntaxe...

Je vais quand meme vous donnez la petite réalisation à laquelle vous avez participé big_smile

les sources :
win32codec.tar.gz

le paquet :
win32codec_20070704-1_i386.deb

description :
Ce paquet sert à installer des codecs du type real video, quicktime, etc, a l'emplacement ou les programmes tel que mplayer, xine, etc, vont les chercher quand ils lise une video.

Hors ligne