Problème d'execution d'un script

Résolu/Fermé
nanahbt - 31 mai 2016 à 10:08
UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 - 31 mai 2016 à 10:15
Bonjour,

Dans le cadre d'un stage, je dois créer un script afin de générer des access log à partir d'URL d'un fichier. Voici mon script (j'ai appelé le script script_log.sh):

#!/bin/sh
        #Script pour generer des access log

while :
        do

                #variable donnant la date et l'heure
        CURRENT_DATE="`date +%Y-%m-%d:%H:%M:%S` `date +%z`"


                #variable donnant le nombre de lignes d'un fichier
        nbligne1=$(wc -l /[/contents/646-linux-gestion-des-utilisateurs root]/access_log/access.log3.txt | cut -f1 -d' ')
        echo "############## Nombre de ligne ##############"
        echo $nbligne1

                #variable donnant un nombre calculer aleatoirement entre deux nombre
        numligne1=$((1+RANDOM*(1+$nbligne1-1)/32767))
        echo "############## Numero de ligne ##############"
        echo $numligne1

                #variable affichant une ligne d'un fichier
        URL=`sed -n "$numligne1"p /root/access_log/access.log3.txt`
        echo "############## URL ##############"
        echo $URL

        echo "############## LOG ##############"
        echo "%IP -- ["`date +%Y-%m-%d:%H:%M:%S` `date +%z`"] "GET $URL"" >> access_log/access_log 2>&1
        echo "%IP -- ["`date +%Y-%m-%d:%H:%M:%S` `date +%z`"] "GET $URL""

        sleep 10

        echo " "
        echo " "
        echo " "

done


Lorsque je l’exécute avec
[/faq/372-bash bash] -x script_log.sh
il fonctionne parfaitement mais lorsque je fais
./script_log.sh
, la vzleur aléatoire est tout le temps 1.

Est-ce que quelqu'un sait pourquoi ça me fais ça ?!

Merci d'avance pour vos réponses.

1 réponse

UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 157
31 mai 2016 à 10:15
Salut,

Affiche le résultat de
 readlink -f /bin/sh
y'a tout à parier que sh soit un lien symbolique vers dash et non bash ;-_
0