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 20/04/2010, à 21:00

Toornevisse

[résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

Hello les Gens

je ne parvient pas à trouver la syntaxe pour tester la longueur de la chaine Fname


#!/bin/bash


Fname=$(zenity --entry --title="Nommer" --entry-text "Joined" --text="Donner un nom au fichier de destination");

if ["${#Fname}" > 0]  then   # ou alors if "${#Fname}"
zenity --info --title="liste" --text="${#Fname}"
#gnome-terminal -e "mencoder -oac copy -ovc copy -o $Fname $*" &
fi

exit 0;

le but étant de lancer la commande du terminal en étant sûr qu'on a un nom de fichier roll

je ne trouve pas grand chose sur la syntaxe en bash, certain mettent des ";"...

edit: c'est pour un script nautilus

Dernière modification par Toornevisse (Le 20/04/2010, à 23:41)

Hors ligne

#2 Le 20/04/2010, à 21:20

sputnick

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

je ne trouve pas grand chose sur la syntaxe en bash, certain mettent des ";"...

Ben tu a pas du chercher longtemps.

["${#Fname}" > 0]

ca n'existe pas, à la rigueur

 [ "${#Fname}" > 0 ]

mais comme tu veut tester que le fichier existe si j'ai bien suivi, tu peux faire simplement

if [[ -f "$Fname" ]]; then...

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 20/04/2010, à 22:28

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

boulet
bah j'ai déja mis pas mal de temps à sortir ça en fait, aaah les joies du dev big_smile
letbou

heu non je veut tester si "l'utilisateur" a entré quelquechose dans zenity:

ça:

(zenity --entry --title="Nommer" --entry-text "Joined" --text="Donner un nom au fichier de destination")

ça ouvre une boite de dialogue avec un champ de saisie comme ça dans Fname j'ai ce qui est dans ce champ


ça ne marche pas non plus avec les espaces "if  [ "${#Fname}" > 0 ] then"

si je fait:

zenity --info --title="liste" --text="${#Fname}"

zenity m'affiche bien la length de Fname mais pas moyen de rentrer ça dans une condition, ça doit être tout simple pourtant

Hors ligne

#4 Le 20/04/2010, à 22:51

toto2006

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

salut

Fname=$(zenity --entry --title="Nommer" --entry-text "Joined" --text="Donner un nom au fichier de destination");

 [[ -n "$Fname" ]] &&  echo  $Fname || echo  "RIEN"

Hors ligne

#5 Le 20/04/2010, à 23:38

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

toto2006 a écrit :
 [[ -n "$Fname" ]] &&  echo  $Fname || echo  "RIEN"

pas moyen de faire echo dans les scripts nautilus :-/


c'est ok j'ai trouvé! il faut utiliser les "opérateurs de comparaison numériques" http://doc.ubuntu-fr.org/tutoriel/scrip … redirect=1

donc

 if [ ${#Fname} -gt 0 ]; then

si la longueur de la chaine Fname est supérieure à zero then... smile

Merci tout de même à vous pour avoir proposé des réponses

si ça intéresse du monde voici ce que j'ai au final, un script nautilus qui colle les vidéos des fichiers sélectionnés avec mencoder (comme le ferait "easy video joiner" sous windows ) :

les noms de fichiers à coller ne doivent pas comporter d'espaces...

ne pas oublier de mettre une extension au fichier meme si c'est de la déco sous linux big_smile

#!/bin/bash

tmp=$1

Fname=$(zenity --entry --title="Nommer" --entry-text "Joined"${tmp: -4} --text="Donner un nom au fichier de destination ("$#" fichiers à joindre)");

if [ ${#Fname} -gt 0 ]; then
 gnome-terminal -e "mencoder -oac copy -ovc copy -o $Fname $*" &
fi

exit 0;

Dernière modification par Toornevisse (Le 21/04/2010, à 00:01)

Hors ligne

#6 Le 20/04/2010, à 23:55

toto2006

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

pas moyen de faire echo dans les scripts nautilus :-/

echo c'était pour l'exemple big_smile
il faillait biensur remplacer par ta commande.

http://abs.traduc.org/abs-5.0-fr/ch07s03.html

-n    la chaîne de caractères n'est pas « vide ».

Hors ligne

#7 Le 21/04/2010, à 00:04

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

ah okéééé lol

effectivement c'est peut être préférable dans certains cas

Thanks smile

Hors ligne

#8 Le 21/04/2010, à 11:29

Totor

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

l'option -n est inutile (c'est le comportement par défaut).

[ -n "${variable}" ]  <=> [ "${variable}" ]

man test a écrit :

[-n] STRING
          the length of STRING is nonzero


-- Lucid Lynx --

Hors ligne

#9 Le 21/04/2010, à 13:05

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

c'est bien cake j'me disait que l'on devait pouvoir mettre juste

if [ "${Fname}" ]

si > à 0 on remplit la condition smile

encore merci pour la précision, comme quoi...dans tout ce que j'ai fouiné je n'ai jamais vu ${var}

Hors ligne

#10 Le 21/04/2010, à 22:05

toto2006

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

@totor

l'option -n est inutile (c'est le comportement par défaut).

smile Question de point de vue , moi je dirais facultatif ou équivalent.

Hors ligne

#11 Le 21/04/2010, à 22:30

pascalf

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

roll bonjour, pas à pas, qui pourrait m'expliquer comment obtenir une jolie fenêtre Conky...avec surtout, et pour commencer les températures processeurs.

Là, actuellement,

ce que je ne saisis pas bien, encore, c'est les lignes de commande ( j'ai utilisé Konsole ) )suis sous Karmic Koala.. 

Ici : ( http://doc.ubuntu-fr.org/lm-sensors ),malgré des explications claires, ceci reste encore compliqué.

libsensors4 puis lm-sensors sont bien installés..  ensuite j'ai bien utilisé la console, entré la commande """ sudo sensors-detect """    et c'est après que ne saisis pas.. 

... pensant que l'utilisation console doit doit être identique pour toute opérations de scripts, je souhaiterais comprendre un peu mieux.

Merci d'avance pour vos aides et votre disponibilité.


Acer TravelMate 7520,   2x AMD Turion(tm) 64 X2 Mobile Technology TL-58, 
2060MB ,    Lynx Lts Lucid depuis peu ( bureau Kubuntu utilisé ),   ATI Radeon ,  Audio Adapter : HDA-Intel - HDA ATI SB.
NB:  pour infos son, mises, car je suis en recherche de comment améliorer les sons sur mon ordi car je suis malentendant.

Hors ligne

#12 Le 22/04/2010, à 12:45

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

Salut

un tout petit peu hors-sujet toa

la commande sudo sensors-detect recherche les sondes (enfin les bons noms) parmi le matériel de ton PC

tu entre tout le temps Y (yes...)

à la fin t'auras un truc qui va ressembler à ça à la fin:

#----cut here----
# Chip drivers
it87
coretemp
#----cut here----

et Do you want to add these lines automatically? (yes/NO)
le tuto suggère non

ensuite dans ton terminal tu fait : sudo gedit /etc/modules

ce qui t'ouvrira le fichier "modules" avec les droits d'admin et tu colle :

# Chip drivers
it87
coretemp

dans le  fichier, tu enregistre puis redémarre le PC pis tu vois la suite du tuto smile

sinon fait un sujet dédié sur ce forum et met ce que donne ton terminal, tout les terminaux doivent donner les memes choses oui

Dernière modification par Toornevisse (Le 22/04/2010, à 12:47)

Hors ligne

#13 Le 23/04/2010, à 02:55

pascalf

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

Toornevisse a écrit :

Salut

un tout petit peu hors-sujet toa

la commande sudo sensors-detect recherche les sondes (enfin les bons noms) parmi le matériel de ton PC

tu entre tout le temps Y (yes...)

à la fin t'auras un truc qui va ressembler à ça à la fin:

#----cut here----
# Chip drivers
it87
coretemp
#----cut here----

et Do you want to add these lines automatically? (yes/NO)
le tuto suggère non

ensuite dans ton terminal tu fait : sudo gedit /etc/modules

ce qui t'ouvrira le fichier "modules" avec les droits d'admin et tu colle :

# Chip drivers
it87
coretemp

dans le  fichier, tu enregistre puis redémarre le PC pis tu vois la suite du tuto smile

sinon fait un sujet dédié sur ce forum et met ce que donne ton terminal, tout les terminaux doivent donner les memes choses oui

Slt,   la commande  : sudo gedit /etc/modules    ne fonctionne pas, cela indique sur la console  " not found"



Je suis bien arrivé jusqu'a là :   

#----cut here----
# Chip drivers
k8temp
#----cut here----

Do you want to add these lines automatically? (yes/NO)Y





J'ai essayé avec Y  et N   car je n'ai pas tres bien saisis dans ta réponse ce qu'il faut mettre.


Ensuite, je suis retourné à la page :   http://doc.ubuntu-fr.org/lm-sensors   


retapé la commande du début...  puis :   sudo modprobe <votre module>     comme c'est indiqué mais il n'est pas précisé de quel module il s'agit ou tout du moins sa syntaxe précise.  Bref, je nage encore un peu mais je finirai bien par comprendre


Ceci dit , Hardinfo vient d'être installé ce qui sera bien pour un débutant comme c'est mon cas.

@+


Acer TravelMate 7520,   2x AMD Turion(tm) 64 X2 Mobile Technology TL-58, 
2060MB ,    Lynx Lts Lucid depuis peu ( bureau Kubuntu utilisé ),   ATI Radeon ,  Audio Adapter : HDA-Intel - HDA ATI SB.
NB:  pour infos son, mises, car je suis en recherche de comment améliorer les sons sur mon ordi car je suis malentendant.

Hors ligne

#14 Le 23/04/2010, à 12:12

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

pascalf a écrit :

Slt,   la commande  : sudo gedit /etc/modules    ne fonctionne pas, cela indique sur la console  " not found"

Re-

bizarre que cette commande ne marche pas, gedit n'est pas installé? ou c'est peut être le fait que tu utilise le bureau Kubuntu parceque gedit <nom_de_fichier>, ça fonctionne meme si le fichier n'existe pas...

tu peut surement arriver à accéder au fichier "modules" (c'est un fichier sans extension biensûr)

dans ton terminal fait

nautilus /etc

et va vers la droite pour trouver le fichier modules, en double-cliquant dessus puis afficher tu doit avoir ça dedans:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.


# Chip drivers
k8temp

lp

sous ubuntu et gnome j'utilise toujours le terminal gnome ( commande "gnome-terminal") mais avec le KDE tu l'a peut être pas

pour le oui ou non à la fin c'était non mais si t'a essayé oui le fichier devrait être rempli comme au dessus avec les:

# Chip drivers
k8temp

je ne suis pas du tout sûr de pourvoir t'aider pour le reste c'est pour ça que je te re-conseille de Créer un nouveau sujet ici http://forum.ubuntu-fr.org/post.php?fid=18 par ex. avec un Sujet qui parle du problème, les gens qui pourrons t'aider ne lirons pas "test longeur chaine..." mais plutôt "installation lm-sensors" hmm

Hors ligne

#15 Le 24/04/2010, à 02:46

pascalf

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

Toornevisse a écrit :
pascalf a écrit :

Slt,   la commande  : sudo gedit /etc/modules    ne fonctionne pas, cela indique sur la console  " not found"

Re-

bizarre que cette commande ne marche pas, gedit n'est pas installé? ou c'est peut être le fait que tu utilise le bureau Kubuntu parceque gedit <nom_de_fichier>, ça fonctionne meme si le fichier n'existe pas...

tu peut surement arriver à accéder au fichier "modules" (c'est un fichier sans extension biensûr)

dans ton terminal fait

nautilus /etc

et va vers la droite pour trouver le fichier modules, en double-cliquant dessus puis afficher tu doit avoir ça dedans:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.


# Chip drivers
k8temp

lp

sous ubuntu et gnome j'utilise toujours le terminal gnome ( commande "gnome-terminal") mais avec le KDE tu l'a peut être pas

pour le oui ou non à la fin c'était non mais si t'a essayé oui le fichier devrait être rempli comme au dessus avec les:

# Chip drivers
k8temp

je ne suis pas du tout sûr de pourvoir t'aider pour le reste c'est pour ça que je te re-conseille de Créer un nouveau sujet ici http://forum.ubuntu-fr.org/post.php?fid=18 par ex. avec un Sujet qui parle du problème, les gens qui pourrons t'aider ne lirons pas "test longeur chaine..." mais plutôt "installation lm-sensors" hmm

SLt, j'ai Kate d'installé, qui est un équivalent de Gedit.
Mais il me semble que "  Konsole" va très bien et permet l'édition ?

Ceci dit, merci de tes tis coups de tournevis..;)   pas d'inquiétude,  ceci sera bien résolu, car quand je ne saisis pas un problème, il me faut toujours le résoudre, là, ces temps ci ayant peu de disponibilité à y consacrer.

J'ai pensé il y a quelques jours contacter un groupe open Source dans les parages où je vis, car des ateliers en vrai sont plus formateurs. en tous les cas, le forum ici est bien étoffé, me permettant de dire que parfois c'est pas très présenté dans la clarté pour quand on est néophyte ..  jusqu'a, je pense, en comprendre les bases, pour ensuite, piger de suite.


J'irai un new topic à créer, par ton lien indiqué, très bientôt... là, et bien , je te souhaite bonne continuation.


Acer TravelMate 7520,   2x AMD Turion(tm) 64 X2 Mobile Technology TL-58, 
2060MB ,    Lynx Lts Lucid depuis peu ( bureau Kubuntu utilisé ),   ATI Radeon ,  Audio Adapter : HDA-Intel - HDA ATI SB.
NB:  pour infos son, mises, car je suis en recherche de comment améliorer les sons sur mon ordi car je suis malentendant.

Hors ligne

#16 Le 26/04/2010, à 19:21

Toornevisse

Re : [résolu] test longueur chaine sortie d'un "--entry" de zenity en bash

Salut

aucune idée pour Konsole c'est surement possible oui comme pour le terminal de gnome mais rien ne vaut un bon éditeur de texte comme Gedit/Kane

y a pas de quoi pour les coup de tournevis wink

en groupe oui tu peut apprendre beaucoup plus vite et après t'a le net comme ce forum ou ces docs, c'est vrai que ce n'est pas toujours facile pour trouver ce qu'on cherche, c'est une généralité...mais c'est fait comme ça, on passe pas mal de temps de fois sur un détail, pour le fonctionnement des forums tu verras que tu t'y fera vite smile

bonne continuiation à toi également

Hors ligne