Probleme script
argum2
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
argum2 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
argum2 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous,
j'ai un souci, je découvre les scripts sous linux et je dois faire un script qui me donne le nombre de bash ouvert par un utilisateur. Le souci est que lorsque je lance mon script il m'en compte un de plus que prévu car en lançant le script ça ouvre un bash supplementaire. Donc je voudrais le retirer dans mon script. J'ai alors créé ce script
read a
var = ps -u$a | grep -c bash
let var = $var - 1
echo $var
et lorsque je lance le script j'ai 2 erreurs
scr1: line 2: var : commande introuvable
0
scr1: line 3: let: =: erreur de syntaxe : opérande attendue (error token is "=")
où scr1 est le nom de mon script . Si quelqu'un a la solution ça serait super ^^ et si en plus quelqu'un pouvait me proposer un lien pour en apprendre plus sur tout ceci :) merci d'avance
j'ai un souci, je découvre les scripts sous linux et je dois faire un script qui me donne le nombre de bash ouvert par un utilisateur. Le souci est que lorsque je lance mon script il m'en compte un de plus que prévu car en lançant le script ça ouvre un bash supplementaire. Donc je voudrais le retirer dans mon script. J'ai alors créé ce script
read a
var = ps -u$a | grep -c bash
let var = $var - 1
echo $var
et lorsque je lance le script j'ai 2 erreurs
scr1: line 2: var : commande introuvable
0
scr1: line 3: let: =: erreur de syntaxe : opérande attendue (error token is "=")
où scr1 est le nom de mon script . Si quelqu'un a la solution ça serait super ^^ et si en plus quelqu'un pouvait me proposer un lien pour en apprendre plus sur tout ceci :) merci d'avance
A voir également:
- Probleme script
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
7 réponses
Salut,
Attention, avant et après le signe égal il n'y a pas des espaces
Attention, avant et après le signe égal il n'y a pas des espaces
read a var=ps -u $a | grep -c bash var=$(($var - 1)) echo $var
merci beaucoup ça m'a grandement aidé!!
j'ai trouvé ceci donc :
read a
var=`ps -u $a | grep -icw bash`
var=$(($var-2))
echo $var
et je suis obligé de mettre 2 car ... (en fait j'en sais rien ... ) si quelqu'un a une idée
j'ai trouvé ceci donc :
read a
var=`ps -u $a | grep -icw bash`
var=$(($var-2))
echo $var
et je suis obligé de mettre 2 car ... (en fait j'en sais rien ... ) si quelqu'un a une idée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci a tous et lami20j ^^
je ne comprends pas encore pourquoi je dois mettre -2 mais au moins ça tourne!!! merci beaucoup
je ne comprends pas encore pourquoi je dois mettre -2 mais au moins ça tourne!!! merci beaucoup
je reviens vous voir car j'ai encore un souci qui je pense est lié au précédent.
je m'occupe de creer un script qui me permet de modifier mon PATH pour y inclure mon rep courant et le rep de mes scripts comme ceci :
[quote]
var=$PATH
if [ $var != $(cat /home/yardras/workspace/abc/script/.demarrage_path) ]
then
echo PATH different
echo en attente de modification
PATH=$(cat .demarrage_path)
export PATH
echo PATH modifié
else
echo PATH identique
fi
[\quote]
puis je cree un autre script qui me remet mon PATH originel :
[quote]
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
export PATH
echo PATH réinitialisé
[\quote]
quand j'execute alors en tapant " . nom_script1" le PATH change mais quand je fais ensuite "nom_script2" le PATH ne change pas. Je pense qu'il n'exporte le PATH que dans les sous-bash lié au bash qui s'ouvre quand j'execute de la 2eme façon.
si je suis assez clair, cela veut dire qu'une execution en "nom_script" se fait a travers un autre bash et l'exportation du PATH ne se fait que pour celui-ci alors qu'une execution en ". nom_script" se fait <autrement> .
et donc je ne comprends pas pourquoi et aussi comment regler le probleme.
si quelqu'un peut m'expliquer ;) merci d'avance
je m'occupe de creer un script qui me permet de modifier mon PATH pour y inclure mon rep courant et le rep de mes scripts comme ceci :
[quote]
var=$PATH
if [ $var != $(cat /home/yardras/workspace/abc/script/.demarrage_path) ]
then
echo PATH different
echo en attente de modification
PATH=$(cat .demarrage_path)
export PATH
echo PATH modifié
else
echo PATH identique
fi
[\quote]
puis je cree un autre script qui me remet mon PATH originel :
[quote]
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
export PATH
echo PATH réinitialisé
[\quote]
quand j'execute alors en tapant " . nom_script1" le PATH change mais quand je fais ensuite "nom_script2" le PATH ne change pas. Je pense qu'il n'exporte le PATH que dans les sous-bash lié au bash qui s'ouvre quand j'execute de la 2eme façon.
si je suis assez clair, cela veut dire qu'une execution en "nom_script" se fait a travers un autre bash et l'exportation du PATH ne se fait que pour celui-ci alors qu'une execution en ". nom_script" se fait <autrement> .
et donc je ne comprends pas pourquoi et aussi comment regler le probleme.
si quelqu'un peut m'expliquer ;) merci d'avance