OVH Cloud OVH Cloud

Exécution d'un script dans le Terminal

9 réponses
Avatar
michel.touchot
On a parfois l'air bête devant son Mac, malgré de longues années de
pratique assidue, et c'est mon cas en ce moment dans le Terminal.

J'essaye en fait d'éxécuter le script qui vient d'être signalé par
MacBidouille pour tester la batterie des portables Mac.

Après avoir scrupuleusement copié et enregistré le-dit script, je me
lance courageusement dans le terminal, les trois lignes de commandes à
effectuer ne me paraissant pas a priori insurmontable. Hélas, je crains
de m'être surestimé.

Déja pour la première ligne, il m'a fallu 5 bonnes minutes pour
comprendre qu'il me manquait un espace entre le "cd" et le "tilde"

Pour la seconde, ajouter 10 minutes de plus, au bas mot, pour me rendre
compte qu'il y avait une erreur dans le nom du fichier à traiter
(problème d'extension invisible, donc pas vue)

Mais après 20 minutes sur la troisième ligne (./nondufichier.extension)
censée produire le résultat escompté, et bien au lieu d'obtenir les
infos attendues sur l'état de ma batterie, ne voilà-t-il pas que le
Terminal me crache trois fois "command not found" et s'arrête!

Alors, erreur dans le script copié, erreur dans cette dernière commande,
problème de config, sénescence précoce ?

Help please, TIA

--Michel--

9 réponses

Avatar
patpro
In article <1g2297m.e9sy8k2n9j7gN%,
(Michel Touchot) wrote:


Mais après 20 minutes sur la troisième ligne (./nondufichier.extension)
censée produire le résultat escompté, et bien au lieu d'obtenir les
infos attendues sur l'état de ma batterie, ne voilà-t-il pas que le
Terminal me crache trois fois "command not found" et s'arrête!


colle exactement le message d'erreur du terminal, ça aidera.

patpro

Avatar
yvon.thoravallist
Michel Touchot wrote:

J'essaye en fait d'éxécuter le script qui vient d'être signalé par
MacBidouille pour tester la batterie des portables Mac.


sur quelle page, exactement ?
[snip]
Déja pour la première ligne, il m'a fallu 5 bonnes minutes pour
comprendre qu'il me manquait un espace entre le "cd" et le "tilde"


celui que j'ai trouvé "batt.bash" ne marche pas non plus, il me donne
command not found, je pense que cela vient du "sprintf", si je fait un
whereis sprintf, sprintf n'est pas trouvé. C'e script ne comporte pas de
cd, il est donc différent du tien...

Le script que j'ai trouvé
<http://www.macbidouille.com/niouzcontenu.php?date 03-09-29#6733> :
#!/bin/bash
[ -x /usr/sbin/ioreg ] &&
/usr/sbin/ioreg -p IODeviceTree -n "battery" -w 0 |
sed -ne '/| *{/,/| *}/ {
s/^[ |]*//g
/^[{}]/!p
}' |
awk '/Battery/ {
gsub("[{}()"]","", $3)
gsub(","," ",$3)
split($3,ct," ")
# extract flag value and convert to hex
sub("Flags=","",ct[2])
str=sprintf("Flags=%d/0x%03x",ct[2],ct[2])
sub("Flags=[0-9]*",str,$3)
# get max and current charge levels
sub(".*=","",ct[4])
sub(".*=","",ct[5])
printf("%s [%.1f%%]n",tolower($3),100*ct[5]/ct[4])
}'
# EOF

--
Yvon

Avatar
michel.touchot
Yvon Thoraval wrote:

celui que j'ai trouvé "batt.bash" ne marche pas non plus, il me donne
command not found, je pense que cela vient du "sprintf", si je fait un
whereis sprintf, sprintf n'est pas trouvé.



C'est en effet celui-là, avec le même symptôme que celui que tu
signales. Donc cela viendrait du script lui-même - ce qui me soulage
d'une certaine façon ?

--Michel--

Avatar
michel.touchot
Yvon Thoraval wrote:

celui que j'ai trouvé "batt.bash" ne marche pas non plus [script
affichant des renseignements sur l'état de la batterie d'un portable]


Finalement, XBattery, le fait sans se prendre la tête, et avec une
interface graphique. ;-)

--Michel--

Avatar
yvon.thoravallist
Michel Touchot wrote:

Finalement, XBattery, le fait sans se prendre la tête, et avec une
interface graphique. ;-)


merci pour le tuyau °;-)
--
Yvon

Avatar
bertrand.gorge+news
(Michel Touchot) wrote in message news:<1g2297m.e9sy8k2n9j7gN%...
On a parfois l'air bête devant son Mac, malgré de longues années de
pratique assidue, et c'est mon cas en ce moment dans le Terminal.

J'essaye en fait d'éxécuter le script qui vient d'être signalé par
MacBidouille pour tester la batterie des portables Mac.

Après avoir scrupuleusement copié et enregistré le-dit script, je me
lance courageusement dans le terminal, les trois lignes de commandes à
effectuer ne me paraissant pas a priori insurmontable. Hélas, je crains
de m'être surestimé.



As-tu copié le script directement dans le terminal, ou dans un fichier
texte que tu as ensuite executé dans ton terminal ?

Parce qu'en général, les terminaux MacOsX sont configurés pour
utiliser tcsh, alors que le script lui veut s'exécuter avec bash (dans
l'un y a printf et pas dans l'autre).

Si tu copies le script dans un fichier, ça devrait marcher parce que
la première ligne indique quel shell utiliser pour l'execution du
script.

Il faut ensuite changer les droits du fichier pour autoriser
l'exécution :

chmod 777 tonscript

et ensuite le lancer :

./tonscript

(le ./ est important, il indique que le script que tu veux lancer est
dans le dossier courant, qui n'est pas dans le "path" par défaut, pour
des raisons de sécurité)

b.

Avatar
yvon.thoravallist
Bertrand Gorge <bertrand.gorge+ wrote:

Il faut ensuite changer les droits du fichier pour autoriser
l'exécution :

chmod 777 tonscript
744 est suffisant

et ensuite le lancer :

./tonscript


oui, tout celà était dit dans l'article de MacBidouille...
--
Yvon

Avatar
pourriel
Michel Touchot wrote:

Alors, erreur dans le script copié, erreur dans cette dernière commande,
problème de config, sénescence précoce ?


J'ai eu la même erreur avec ce script. Fait un copier-coller dans
BBEdit mais pas dans TextEdit. Et dans la troisième icône de la barre de
tâche de BBEdit, tu choisis le format Unix de retour chariot.
Et là, ça marche.
Si ça ne marche toujours pas, retire les espaces en fin de chaque ligne.

TextEdit merdouille un peu de ce côté là et le Terminal semble sensible
à ça.

--
Ralph "enycu" D.

Courriel: enycu AROBASE hotmail POINT com

Avatar
michel.touchot
Ralph Davidovits wrote:

J'ai eu la même erreur avec ce script. Fait un copier-coller dans
BBEdit mais pas dans TextEdit. Et dans la troisième icône de la barre de
tâche de BBEdit, tu choisis le format Unix de retour chariot.
Et là, ça marche.
Si ça ne marche toujours pas, retire les espaces en fin de chaque ligne.

TextEdit merdouille un peu de ce côté là et le Terminal semble sensible
à ça.


Bingo, c'étair cela - et il a fallu que j'enlève les espaces
surnuméraires en fin de ligne.

Merci,

--Michel-- dont la batterie affiche une capacité à pleine charge de 80 %
de la valeur nominale, honorable donc après 18 mois.