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 26/04/2020, à 12:51

Christophe C

Interface graphique pour anacron

Jadis il y avait gnome schedule, qui se basait (sauf erreur) sur cron, et était écrit en python 2.

Plus dans les dépôts depuis un moment, et pas de remplaçant graphique. Donc quand on veut automatiser un lancement de logiciel ou un script, c'est anacron ou cron obligatoire.

La syntaxe de ces outils n'étant pas totalement intuitive smile, Je me suis mis en tête de faire un utilitaire qui offre une interface graphique. l'objectif n'est pas forcément de remplir 100% des fonctionnalités, mais d'offrir quelque chose de simple pour programmer des lancements.

Donc j'ai fais un logiciel, appelé yanacron, qui est une interface en yad pour anacon (d'où son nom smile).

A ce stade je n'ai pas d'erreurs lintian sur le paquet debian
Les langues supportées (un peu approximatif, je n'ai rien contre une relecture) sont anglais / français / italien / espagnol.
Je n'autorise (officiellement) que des jours comme délais entre 2 lancements : @weekly ou @monthly provoquent un message d'erreur (mais si on force, ça marche). Je vais améliorer cela, c'est facile.

A priori pas de bug, mais à tester plus, sans doute.
A ce propos, si certains pouvaient jeter un coup d’œil, ce serait évidement un plus.

A termes, s'il semble utile, je pourrais ajouter des traductions et faire une vrai page de téléchargement / installation.

Téléchargement ici :
http://batraciens.net/divers/yanacron.deb

Dernière modification par Christophe C (Le 26/04/2020, à 12:52)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#2 Le 26/04/2020, à 18:51

Hizoka

Re : Interface graphique pour anacron

Sympa smile

Je me permets quelques conseils de simplification :

Le pipe est inutile :

echo $LINE1X | cut -d' ' -f1
=>
cut -d' ' -f1 <<< "$LINE1X"

et encore mieux, full bash :

${LINE1X%% *}

Autant simplifier au max le if simple :

if [ -z $SOFTWARE1 ] ; then SOFTWARE1='/usr/bin/*' ; fi
=>
[ -z $SOFTWARE1 ] && SOFTWARE1='/usr/bin/*' 

Il est pas conseillé de modifier l'IFS :

  ANC_IFS="$IFS" 
  IFS='|' 	
  read -ra TableauDesRetours <<< "$retour" 
  IFS="$ANC_IFS"	
=>
  mapfile -t -d "|" TableauDesRetours <<< "$retour"

Tu peux tout mettre dans des doubles crochets (m'enfin bon...) :

[ -z ${TableauDesRetours[3]} ] || [ -z ${TableauDesRetours[12]} ] || [ -z ${TableauDesRetours[21]} ] || [ -z ${TableauDesRetours[30]} ] 
=>
[[ -z ${TableauDesRetours[3]} || -z ${TableauDesRetours[12]} || -z ${TableauDesRetours[21]} || -z ${TableauDesRetours[30]} ]]

Pas terrible d'utiliser let comme ça avec renvoie des erreurs dans null :
Pourquoi l'echo ?

if let "${TableauDesRetours[21]}" 2>/dev/null ; then TableauDesRetours[21]=$(echo ${TableauDesRetours[21]}"_") ; fi
=>
[[ ${TableauDesRetours[21]} == +([0-9]) ]] && TableauDesRetours[21]+="_"

Pourquoi l'echo ?

TableauDesRetours[4]=$(echo ${TableauDesRetours[4]%%,*})
=>
TableauDesRetours[4]=${TableauDesRetours[4]%%,*}

Le -n est sous entendu :

[ -n "${TableauDesRetours[3]}" ]
=>
[ "${TableauDesRetours[3]}" ]

Ça je pige pas :

[[ $NAME2 && ${NAME2+x} ]]
=>
unset caca
[[ ${caca} ]] && echo OK || echo KO # KO
caca=""
[[ ${caca} ]] && echo OK || echo KO # KO
caca="ds"
[[ ${caca} ]] && echo OK || echo KO # OK

unset caca
[[ ${caca-vide} != vide ]] && echo OK || echo KO # KO
caca=""
[[ ${caca-vide} != vide ]] && echo OK || echo KO # OK

En fonction de ce que tu veux faire, c'est peut être plus simple non ?

Après tu en fait ce que tu veux, on a chacun ses préférences et sa façon de faire.

Genre je ne mets pas du tout en forme les if else comme toi smile

Dernière modification par Hizoka (Le 26/04/2020, à 18:52)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#3 Le 26/04/2020, à 21:26

Christophe C

Re : Interface graphique pour anacron

Il y a plein de façon d'écrire en bash. Je n'aime pas du tout les écritures implicites. C'est plus court, mais c'est surtout illisible, et je péfère les syntaxes "classiques". Oui, j'ai commencé par le basic smile

Pour le let avec /dev/null c'est le 1er système que j'ai trouvé en faisant des recherches. je n'aime pas du tout (syntaxe bien obscure, et pas très logique). Oui j'avais vu qu'il y avait la syntaxe que tu proposes, je voulais creuser, mais bon, la 1er fonctionnait, donc j'ai laissé courir. j'y reviendrais sans doute.

Pour [[ $NAME2 && ${NAME2+x} ]] , c'est une syntaxe qui fonctionne pour tester si une variable est définie. Même chose, elle ne me branche pas des masses (trop obscure), et j'en ai trouvé une autre, mais là aussi je n'ai pas creusé, j'étais sur autre chose. Mais j'y reviendrais.

Hizorka a écrit :

Pourquoi l'echo ?

echo ${TableauDesRetours[21]}"_"

Je ne sais pas smile. Oui, ça ne sert à rien, et ce n'est même pas logique. Fixed !

Bon, sinon le logiciel fonctionne chez toi ? pas de problème, de bug, d'anomalie ?

Dernière modification par Christophe C (Le 29/04/2020, à 06:28)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#4 Le 26/04/2020, à 22:14

toitoinebzh

Re : Interface graphique pour anacron

bel outil, bravo pour ce partage
je vois que tu as fait un bel effort pour packager cet outil, pourquoi ne pas le partager sur une forge

Hors ligne

#5 Le 27/04/2020, à 07:07

Christophe C

Re : Interface graphique pour anacron

Oui, c'est prévu smile.

En fait je l'utilise (avec un autre outil, ici) pour tester tout un processus de production :
- faire le logiciel
- comprendre les principes et le fonctionnement d'une traduction gnu gettext
- faire le paquet debian
- faire un PPA
- faire une forge.

Pour l'instant j'ai fait les 3 premiers points.

Pour le PPA je l'ai créé mais je ne comprends rien à la mise en ligne, j'ai des messages d'erreurs, j'y reviendrais.

Et pour un GIT, ce sera pour plus tard.

C'est mon projet d'auto-apprentissage pour 2020. Si en plus les outils servent à quelqu'un, c'est avec plaisir smile.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#6 Le 27/04/2020, à 09:25

Hizoka

Re : Interface graphique pour anacron

Je n'ai testé que son lancement et les différentes fenêtres pas de problème.

La gestion d'un ppa est super compliqué comparait à la création d'un deb...
Un mec m'avait aidé et je m'étais créé des scripts qui automatisé tout ça car trop compliqué...
Mais si jamais tu as besoin, j'essaierai de t'aider.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#7 Le 27/04/2020, à 10:48

Christophe C

Re : Interface graphique pour anacron

Ah cool.

Oui, le paquet debian ce n'est pas héroïque. Je n'ai même pas d'erreur lintian ! Youpi smile

Par contre je n'ai rien compris aux docs sur le PPA, ou disons que ce que j'ai compris ne marche pas. J'ai créé le PPA, mais pour y envoyer un deb ...
Il est dommage qu'on ne puisse pas pousser un .deb, et que cannonical veuille à tout prix le recréer à la volée. Ils ont peut-être raison, d'ailleurs, mais cela ajoute une couche de complexité.

Si tu as de la doc compréhensible pour le commun des mortels, avec un détail de chaque étape, je suis preneur. Ce que j'ai, j'ai l'impression qu'il en manque des bouts, les messages d'erreurs ne sont pas expliqués. on a des commandes à lancer, mais je ne sais pas à partir de quel répertoire, etc … Bon, je n'y ai pas encore passé beaucoup de temps, pour être honnête.

Dernière modification par Christophe C (Le 27/04/2020, à 10:51)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#8 Le 27/04/2020, à 12:01

Hizoka

Re : Interface graphique pour anacron

Lorsque tu utilises les ppa tu t'engages à fournir les fichiers sources, ce qui n'est pas forcément le cas avec un fichier deb (dans le cas de langage non compilé on serait bon).
D'ailleurs tu acceptes que ton logiciel soit sous je ne sais plus quelle licence...

Je suis comme toi, je n'ai rien compris aux explications et autre.

J'avais commencé un logiciel qui permettait d'aider à tout mais je n'avais pas du le finaliser de mémoire.

Lorsque tu te lances vraiment dedans, tu me fais signe et je t'explique ce que je fais.

L'avantage des ppa, c'est que les gens peuvent récupérer les sources et les paquets deb.

Les nouveaux trucs c'est les paquets snap et co maintenant.
J'avais voulu testé mais sans grande réussite...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#9 Le 27/04/2020, à 15:27

Christophe C

Re : Interface graphique pour anacron

Oui, je pourrais tester un appimage ou un flatpack.
Vue que j'essaie de me former à travers ce projet, pourquoi pas, mais le PPA me semblait logique en 1er étape.

Tu me rassures sur le fait que tu n'avais pas bien compris, je ne me sentais pas doué smile.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#10 Le 28/04/2020, à 12:13

Christophe C

Re : Interface graphique pour anacron

Puisque vendredi est férié, je pense que je vais me remettre sur le PPA. Si tu as une procédure pour pousser les sources du deb (le code, fichier control, le man, le copyright, l'icone, …) je suis tout à fait preneur.
Comme indiqué, mon PPA est créé, c'est après que cela se gate smile

Toute aide sera bienvenue smile

Dernière modification par Christophe C (Le 28/04/2020, à 15:20)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#11 Le 28/04/2020, à 14:23

Hizoka

Re : Interface graphique pour anacron

Je n'ai pas de procédure sous la main, ce que je te propose c'est qu'on communique soit par mail soit en direct et que je t'explique ce que je fais ou que je te le montre.

Logiquement on devrait y arriver vu que c'est du bash comme certains de mes projets.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#12 Le 28/04/2020, à 15:21

Christophe C

Re : Interface graphique pour anacron

Bon, je vais reprendre à zéro, et je posterais ici quand je bloquerais. Je vais déjà reprendre bien les docs à la base.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#13 Le 28/04/2020, à 16:56

erresse

Re : Interface graphique pour anacron

Bonjour Christophe,
Je viens de tomber par hasard sur le développement que tu as déjà fait, "fcron", en mode ligne de commande, et je trouve l'idée d'unifier les fonctions de "cron" et de "anacron" super !
Et du coup, en suivant ce fil, je me demande pourquoi ne pas être parti sur une interface graphique pour "fcron" plutôt que "anacron" ?
Certes, le paramétrage est beaucoup plus diversifié dans "fcron", mais on disposerait alors d'un outil complet et très accessible via l'interface graphique...
Peut-être pourrais-tu y penser ? (Ça ne coûte rien de demander tongue )
big_smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#14 Le 29/04/2020, à 06:08

Christophe C

Re : Interface graphique pour anacron

Bonjour,

Fcron n'est pas dans les dépôts, sauf erreur, et il est peu utilisé.

Par ailleurs il a peu d'avantages, si ce n'est de pouvoir lancer un script toutes les x heures / à H fixes, ce que ne permet pas, à ma connaissance, anacron.

Enfin, la syntaxe et quand même plus compliqué.

Je voulais quelque chose de simple et générique, donc je l'ai assez rapidement éliminé de mes options.

Ceci dit, je connais mal l'outil, donc j'ai peut-être raté quelque chose.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#15 Le 29/04/2020, à 07:14

Christophe C

Re : Interface graphique pour anacron

Bon, j'ai commencé à retoucher le code.

Le echo pour ajouter "_" ne servait effectivement à rien, je l'ai viré.

Le test numérique avec /dev/null ne me plaisait pas, je l'ai remplacé par

let ${TableauDesRetours[12]} ; if [ $? = 0 ]	# let renvoi un 0 si la chaine est numérique, 1 si elle est alpha

Et pour le tester le contenu ou l'existence d'un variable, je suis passé à [ ! -z $NAME1 ]

Je sais qu'il  y a plus court, mais comme indiqué, je privilégie les syntaxes explicites et "classiques", je n'aime pas (et ne maîtrise pas bien) les syntaxes raccourcies du bash.

Dernière modification par Christophe C (Le 29/04/2020, à 17:38)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#16 Le 29/04/2020, à 23:58

kamaris

Re : Interface graphique pour anacron

let renvoie 1 si son dernier argument est évalué à 0 ; sinon, elle renvoie 0.
Pour tester son retour, comme pour toute commande, il vaut mieux le faire directement :

if let …; then …

[ ! -z "$var" ] est logiquement équivalent à [ -n "$var" ] ; les deux sont posix (pas spécifiques à bash).

Hors ligne

#17 Le 30/04/2020, à 11:36

Christophe C

Re : Interface graphique pour anacron

Je n'ai pas pris -n parce que de mémoire (mais je n'ai pas retesté récemment), j'avais un résultat différent quand la variable n'existait carrément pas.

Pour let, justement, if  let ${TableauDesRetours[12]} = 0 ne marchait pas (je ne me souvient plus exactement des syntaxes testées), donc j'ai utilisé la 1er syntaxe qui a marché smile. Si tu as mieux, pas de problème.


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#18 Le 30/04/2020, à 15:02

kamaris

Re : Interface graphique pour anacron

! -z et -n sont équivalents : peut-être avais-tu oublié les guillemets autour de la variable non définie ?

Il ne faut pas confondre la sortie d'une commande, et sa valeur retour ou code retour.
Quand je dis que « let renvoie 1 si son dernier argument est évalué à 0 ; sinon, elle renvoie 0 », il s'agit du code retour, qui se teste directement par

if let ${TableauDesRetours[12]}; then …

et qui correspond à ce qui est placé dans $? une fois la commande exécutée.

La sortie de let, quant à elle, est toujours vide, et de toutes façons, si tu avais voulu tester son égalité à zéro, il aurait fallu faire

if [ "$(let …)" = 0 ]; then …

--
NB : sinon, il existe la syntaxe ((…)) qui est peut-être plus claire :

if ((${TableauDesRetours[12]})); then …

Dernière modification par kamaris (Le 30/04/2020, à 15:07)

Hors ligne

#19 Le 01/05/2020, à 08:04

Christophe C

Re : Interface graphique pour anacron

Je vais retester avec -n.
Edit : non je te garantie que je n'ai pas le même résultat avec [ !  -z $var ] et [ -n $var ]. Dans mon test, le 1er fonctionne, pas le second. Le problème vient du fait que la variable peut être vide, pleine ou inexistante.

Pour let, mon objectif est de tester si une variable est numérique. Concrètement, quand Let sur un variable me renvoi $? = 0, c'est que la variable est une chaine numérique. si $? = 1, c'est alpha

Dès lors, je ne suis pas sur de comprendre ta remarque "let renvoie 1 si son dernier argument est évalué à 0". C'est quoi le dernier argument : la variable ? Et c'est évalué à 0 si c'est alpha ?

Dernière modification par Christophe C (Le 01/05/2020, à 08:28)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#20 Le 01/05/2020, à 10:37

kamaris

Re : Interface graphique pour anacron

Christophe C a écrit :

Je vais retester avec -n.
Edit : non je te garantie que je n'ai pas le même résultat avec [ !  -z $var ] et [ -n $var ]. Dans mon test, le 1er fonctionne, pas le second. Le problème vient du fait que la variable peut être vide, pleine ou inexistante.

Comme je te suggérais en #18, tu n'as pas mis les guillemets autour de ta variable.
Dès lors, tu n'opères pas un test sur la variable, mais uniquement sur les chaines -z ou -n.
Pour t'en convaincre, tu peux activer le traçage des commandes, par set -x :

$ unset var
$ set -x
$ [ -n $var ]
+ '[' -n ']'
$ [ -n ]
+ '[' -n ']'
$ [ -n "$var" ]
+ '[' -n '' ']'
$ 

Comme les chaines -z et -n sont non vides, les crochets […] te renvoient 0 :

$ [ chaine-non-vide ]
$ echo $?
0
$ 

Si maintenant tu rajoutes un opérateur de négation !, ça va simplement inverser le résultat du test :

$ [ ! chaine-non-vide ]
$ echo $?
1
$ 

C'est pour ça que [ -n $var ] te renvoie 0, alors que tu t'attends à 1 : le test ne te dit pas que $var est non vide, mais que la chaine -n est non vide.
De même, [ -z $var ] ne te dit pas $var est vide, mais que la chaine -z est non vide.
Et [ ! -z $var ] ne te dit pas qu'il est faux que $var est non vide, mais qu'il est faux que la chaine -z est vide.

En conclusion, si tu dois retenir une chose : protège tes variables avec des guillemets, sauf si tu sais vraiment pourquoi tu ne le fais pas.


Christophe C a écrit :

Pour let, mon objectif est de tester si une variable est numérique. Concrètement, quand Let sur un variable me renvoi $? = 0, c'est que la variable est une chaine numérique. si $? = 1, c'est alpha

Dès lors, je ne suis pas sur de comprendre ta remarque "let renvoie 1 si son dernier argument est évalué à 0". C'est quoi le dernier argument : la variable ? Et c'est évalué à 0 si c'est alpha ?

Non. let ne renvoie pas forcément 0 si une chaine est numérique.
Exemple :

$ let 0
$ echo $?
1
$ 

let renvoie 0 si son dernier argument n'est pas évalué à 0.
Exemple :

$ let 0+0 1+1
$ echo $?
0
$ let 1+1 0+0
$ echo $?
1
$ 

let renvoie 1 quand on lui passe une expression non arithmétique, car cette expression est évaluée à 0.

Concernant les tests à réaliser directement sur la commande plutôt que sur la variable spéciale $?, je te renvoie vers shellcheck : https://github.com/koalaman/shellcheck/ … #rationale

Hors ligne

#21 Le 01/05/2020, à 11:08

Hizoka

Re : Interface graphique pour anacron

Pour éviter le problème des ", utilise des doubles crochets.

Perso, j'ai pris l'habitude de faire d'une façon un peu contraignante mais qui évite tout problème de ce genre

[[ "${var}" ... ]]

je sais que les " sont inutiles dans ce cas, mais ça me permet de ne pas les oublier dans de nombreux autres cas.

Pour reprendre kamaris,  voici un exemple terre à terre mais simple à comprendre du coup :

unset x
[ -n $x ] && echo OK # OK
[ -n "$x" ] && echo OK
[[ -n ${x} ]] && echo OK
[[ -n "${x}" ]] && echo OK
[[ ${x} ]] && echo OK

Pour let, si ce n'est pas clair, ne l'utilise pas, utilise bash :

x=0
[[ ${x} == +([0-9]) ]] && echo OK # OK

x=1
[[ ${x} == +([0-9]) ]] && echo OK # OK

unset x
[[ ${x} == +([0-9]) ]] && echo OK

x=1a
[[ ${x} == +([0-9]) ]] && echo OK

Dernière modification par Hizoka (Le 01/05/2020, à 11:10)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#22 Le 01/05/2020, à 11:14

Christophe C

Re : Interface graphique pour anacron

kamaris a écrit :

Comme je te suggérais en #18, tu n'as pas mis les guillemets autour de ta variable.

C'est bon, j'ai compris. Tu as raison. Ca me paraissait bizarre aussi cette absence d'équivalence entre ! -z et -n. C'est plus clair, merci


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#23 Le 01/05/2020, à 15:03

Christophe C

Re : Interface graphique pour anacron

Hizoka a écrit :

Perso, j'ai pris l'habitude de faire d'une façon un peu contraignante mais qui évite tout problème de ce genre [[ "${var}" ... ]]

Justement :
[ -n $var ] && echo $var"ok1" => ok1
[[ -n $var ]] && echo $var"ok1" => rien
[[ -n "${var}" ]] && echo $var"ok1" => rien

Donc [[ -n "${var}" ]] ne sécurise pas [ -n $var ], il donne un résultat différent.

C'est vrai que j'aurais dû creuser le python cool. Avec un base basic, une partie de la syntaxe bash est vraiment déroutante smile

j'ai bien vu que les double crochet était une évolution de la syntaxe du vieux sh, et qu'il remplaçait potentiellement les double quote, et donnait accès aux expressions rationnelles, mais j'ai tendance à tester les 2 options et à utiliser ce qui marche, preuve que je n'ai pas bien intégré les différences sad

et oui, je préfère [[ ${x} == +([0-9]) ]] à let. je l'ai adopté smile

Dernière modification par Christophe C (Le 01/05/2020, à 15:51)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne

#24 Le 01/05/2020, à 15:23

Hizoka

Re : Interface graphique pour anacron

Bah si...
Dans ton cas [ -n $var ] est aberrant...
il voit juste que '-n' n'est pas une chaîne vide...
qu'avec [[ -n "${var}" ]], il fait ce que toi tu attends de lui, vraiment vérifier que la variable est vide...


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#25 Le 10/05/2020, à 09:50

Christophe C

Re : Interface graphique pour anacron

Bonjour,

Donc je reprends la création de mon PPA.

J'ai signé le code de conduite, récupéré la clé PGP, et j'ai créé le PPA lui-même.J'ai mon programme sous forme de .deb, mais je comprends que je ne peux pas le pousser directement, je dois pousser les sources, et les outils Canonical vont re-faire le paquet.

Il m'est alors demandé de passer la commande dput ppa:your-lp-id/ppa <source.changes>

Pour construire le fichier source.changes, je suis renvoyé vers https://packaging.ubuntu.com/html/
... qui ne donne aucune information, bien sur, mais une collection de liens qui renvoient à d'autres liens. Dans le genre pas clair, c'est assez réussi. Et on y parle pas de source.changes yikes

J'ai balayé pas mal de sites, mais ce n'est jamais clair. C'est assez étonnant, d'ailleurs : pour construire un paquet .deb, on a beaucoup de ressources de qualité, mais là, on a pas grand chose, et franchement obscure.

Donc concrètement, pour faire un dput ppa:your-lp-id/ppa <source.changes>, comment dois-je créer le source.changes, que dois-je y mettre, et où dois-je le mettre ?

Et est-ce suffisant ?

Dernière modification par Christophe C (Le 10/05/2020, à 09:52)


BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».

Hors ligne