#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
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
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
[[ -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...
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
#!/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
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éééé
effectivement c'est peut être préférable dans certains cas
Thanks
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}" ]
[-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
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).
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
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
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
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 nonensuite 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
coretempdans le fichier, tu enregistre puis redémarre le PC pis tu vois la suite du tuto
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
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"
Hors ligne
#15 Le 24/04/2010, à 02:46
- pascalf
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
k8tempje 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"
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
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
bonne continuiation à toi également
Hors ligne