Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 10-08-2020 08:50:57

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour
j'aimerais créer un fichier équivalent d'un fichier bat windows ,que je déposerai sur le bureau
exemple

cd ~/JM/analyse
systemd-analyze time

Merci
JM

Dernière modification par JM38 (16-08-2020 10:12:45)

Hors ligne

#2 10-08-2020 09:18:31

David5647
Membre
Distrib. : Debian Bullseye/Sid
Noyau : 5.7.0-2-amd64
(G)UI : KDE/i3wm
Inscription : 27-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Tu peux utiliser un script shell. Tu peux utiliser le même environnement que celui de la console, qui est par défaut bash.

dans un simple fichier texte, avec l'entête (shebang):

#!/bin/bash


tu écris les commandes à exécuter

il faut ensuite rendre le script executable

chmod +x monscript.sh

(ou clic droit > propriétés)


ps :
concernant tes commandes

cd ~/JM/analyse
systemd-analyze time



En l'état, changer de répertoire (cd) n'a pas d'utilité dans la mesure où la deuxième commande ne fais qu'un affichage (pas de lecture ou d'écriture dans le répertoire)
Pour écrire dans un fichier, si c'est ce que tu souhaites, il faut utiliser un redirection

Dernière modification par David5647 (10-08-2020 09:30:29)

Hors ligne

#3 10-08-2020 15:04:16

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour et merci David

Est-on obligé de suffixer le nom du fichier avec sh?
peut on l'appeler monscript_time.txt par exemple
je suppose que l'on peut faire une pause afin de pouvoir visualiser le résultat
effectivement votre remarque concernant le CD est judicieuse, j'avais utiiisé cela afin d'exporter le résultat dans un fichier texte de mon répertoire
merci
A suivre
JM

Hors ligne

#4 10-08-2020 15:33:23

nam1962
Banni(e)
Distrib. : Manjaro, Debian, Xebian, Yunohost
Noyau : Ca dépend
(G)UI : Xfce
Inscription : 02-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Alternative pour la commande que tu indiques :

Clic droit sur le bureau - [Créer un lanceur]

Nom que tu veux - icône que tu veux - commande :

sh -ic "systemd-analyze time; exec bash"



La première fois que tu le lances par double clic il faut l'autoriser : "Marquer exécutable".

[Edit]
Si tu veux la voir ET enregistrer dans un fichier (tu peux remplacer Documents/test.txt par JM/analyse) :

sh -ic "systemd-analyze time | tee -a Documents/test.txt; exec bash"



Si tu veux en plus avoir un horodatage :

sh -ic "date | tee -a Documents/test.txt ; systemd-analyze time | tee -a Documents/test.txt ; exec bash"



(pour cette dernière commande, il y a peut-être plus élégant : je n'ai pas trouvé comment regrouper deux résultats sur un seul tee)

Le cas échéant, tu peux remplacer le lanceur par un alias

smile

Dernière modification par nam1962 (10-08-2020 16:13:36)


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Manjaro Xfce - Debian Xfce - Yunohost - Xebian Et vous ?
61 convertis  IRL (n'ont pas eu le choix...).

Hors ligne

#5 10-08-2020 16:12:48

vv222
Administrateur
Lieu : Bretagne
Distrib. : GNU/Linux Debian « Sid »
Noyau : Linux ≥ 5.10 (amd64)
(G)UI : Openbox
Inscription : 18-11-2013
Site Web

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

nam1962 a écrit :

Si tu veux en plus avoir un horodatage :

sh -ic "date | tee -a Documents/test.txt ; systemd-analyze time | tee -a Documents/test.txt ; exec bash"



(pour cette dernière commande, il y a peut-être plus élégant : je n'ai pas trouvé comment regroupe deux résultats sur un seul tee)



Pas testé, donc à prendre avec des pincettes, je suggère :

sh -ic "{ date ; systemd-analyze time ; } | tee -a Documents/test.txt ; exec bash"


Jouer sous Debian ? Facile !

Hors ligne

#6 10-08-2020 17:04:44

David5647
Membre
Distrib. : Debian Bullseye/Sid
Noyau : 5.7.0-2-amd64
(G)UI : KDE/i3wm
Inscription : 27-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bon, ça pas mal avancé par ici! Je répond quand même à la question

JM38 a écrit :

Est-on obligé de suffixer le nom du fichier avec sh?


Non, c'est une convention, "faible" je suppose. Pour ma part je mets soit ".sh" soit rien du tout.

JM38 a écrit :

peut on l'appeler monscript_time.txt par exemple



La seule difficulté est si l'environnement de bureau (ici kde) a déjà relié l'extension à autre chose :
    - mon_script.blabla => s’exécute correctement
    - mon_script.txt => ouvre un bloc-note

JM38 a écrit :

je suppose que l'on peut faire une pause afin de pouvoir visualiser le résultat


Voir réponses au dessus, pour paraphraser avec un exemple à moi :

#!/bin/bash
urxvt --hold -e bash -c "systemd-analyze time"


urxvt : le terminal
--hold : on ne ferme pas
-e bash : l'interpréteur
-c "une commande" ou -c "un_autre_script.sh" : ce qu'il faut executer

Hors ligne

#7 10-08-2020 19:33:03

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonsoir et merci
#!/bin/bash
urxvt --hold -e bash -c "systemd-analyze time"


si j'ai bien compris
si on execute un fichier (qu'on a rendu executable, de préférence avec suffixe sh ou rien,en lui attribuant le mode X)

ce fichier doit contenir impérativement pour la commande  systemd-analyze time
#!/bin/bash
puis
urxvt  -e bash -c "systemd-analyze time"

si on ajoute hold le système laisse à  l'écran le résultat, et il suffit de cliquer pour sortir
pas besoin d'une commande style exit dans le fichier
si on passe n commandes dans ce fichier exemple la même (idiot je le concède)
il faut que le contenu du fichier soit:
#!/bin/bash
urxvt  -e bash -c "systemd-analyze time"
urxvt  -e bash -c "systemd-analyze time"


sh -ic "systemd-analyze time | tee -a Documents/test.txt; exec bash"
dans un lanceur (raccourci ne permettant qu'une ligne commande
on saisit
sh -ic "systemd-analyze time | tee -a Documents/test.txt; exec bash"

ic signfie interpreteur commande ?
c'est  | tee  qui permet de faure la pause ?
le -a équivaut au > ? (export dans un fichier)

tu peux remplacer Documents/test.txt par JM/analyse) :
non car JM/analyse est un dossier donc JM/analyse/test.txt ou Documents/JM/analyse/test.txt
Merci

Hors ligne

#8 11-08-2020 22:02:03

David5647
Membre
Distrib. : Debian Bullseye/Sid
Noyau : 5.7.0-2-amd64
(G)UI : KDE/i3wm
Inscription : 27-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

JM38 a écrit :

de préférence avec suffixe sh ou rien

Il faudrait vérifier la convention vraiment employée, peut être y a t-il même des raisons pratiques, c'est simplement ce que j'ai pu observer

JM38 a écrit :

doit contenir impérativement pour la commande  systemd-analyze time

oui, la commande que tu veux executer

JM38 a écrit :

n commandes dans ce fichier exemple la même

Là, il va t'ouvrir n terminaux, j'avoue que je ne saurai pas réaliser qqc de propre pour lancer plusieurs commandes à la suite dans un seul terminal. Ce que je ferais, c'est 2 fichiers :
fichier 1 :

#!/bin/bash
urxvt --hold -e bash -c "chemin/vers/mon/script.sh"


et fichier 2 :

#!/bin/bash
commande_1
commande_2
...

Ou un lanceur pour le fichier 2 (script.sh)

JM38 a écrit :

sh -ic "systemd-analyze time | tee -a Documents/test.txt; exec bash"

L'interprétaion de la commande me semble moins immédiate puisque l'environnement de bureau s'en mêle, c'est lui qui ouvre le bon terminal, celui défini par défaut, alors que mon exemple le note explicitement.

sh lance le shell, c'est un lien symbolique vers l'interpréteur dash

file /usr/bin/sh


/usr/bin/sh: symbolic link to dash



JM38 a écrit :

ic signfie interpreteur commande ?

Il y a deux façon d'écrire des paramètres:
  "-" + caractère unique
  "--" + en toute lettre

par exemple :
"--verbose" ou "-v"

Donc, là tu es en présence de deux paramètres, "i" et "c", la page du manuel peut te renseigner sur leur utilité:

man sh


...
-c Read commands from the command_string operand instead of from the standard input.  Special parameter 0 will be set from the command_name
                            operand and the positional parameters ($1, $2, etc.)  set from the remaining argument operands.
...
-i interactive   Force the shell to behave interactively.
...
 

JM38 a écrit :

c'est  | tee  qui permet de faure la pause ?

tee permet d'écrire dans un fichier et d'avoir tout de même la sortie standard dans le terminal.

man tee


tee - read from standard input and write to standard output and files


JM38 a écrit :

le -a équivaut au > ?

pas tout à fait, ">" écrase tout la contenu, "a" = append, on ajoute à la fin.

Je ne suis pas sûr sûr de mon interprétation, mais si l'on résume :
sh lance le terminal par défaut,
le paramètre "-c" fait que l'on exécute la commande qui suit,
le ";" correspond à un enchainement de commande:  1 ; 2 => on exécute 1, puis 2
donc on execute "systemd-analyse time",
on redirige sa sortie avec un pipe "|"
vers la commande tee,
qui d'un part ajoute la sortie de la commande au fichier test.txt,
d'autre part la redirige vers la sortie standard : dans le terminal
puis, dans le même terminal, on lance l'interpréteur "bash", le tout en interactif "-i", donc ça reste ouvert

Voilà!

Dernière modification par David5647 (11-08-2020 22:03:05)

Hors ligne

#9 12-08-2020 08:32:02

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour David
Vous êtes très sympa et expert
je suis débutant

autres questions
que signifie urxvt --hold (je suppose hold je garde à l'écran , car ne ferme pas ? et urvxt
dans ton fichier 2 plus haut
#!/bin/bash
commande_1
commande_2
...
fichier 2 :
#!/bin/bash
commande_1
commande_2
 

je suppose que c'est le fichier nommé dans le fichier 1 (script.sh)
qu'écris tu dans commande?
urxvt  -e bash -c "systemd-analyze time"

ou
systemd-analyze time tout seul?

quel est le paramètre autre que tee qui permet d'afficher le résultat à l'écran , et qu'on en quitte en faisant enter ou en appuyant sur une touche, nous abstenant d'écrire dans un fichier (c'est pour savoir , car ce n'est pas génant décrire systématiquement dans un fichier (est-ce que la paramètre nom de ficher est obligatoire?)
exemple
sh -ic "systemd-analyze time | tee 

comment mettre sur fond gris les commentaires de l'autre (dans la doc BBcode on a le texte en jaune? avec la balise ins
merci

Hors ligne

#10 12-08-2020 10:18:36

nam1962
Banni(e)
Distrib. : Manjaro, Debian, Xebian, Yunohost
Noyau : Ca dépend
(G)UI : Xfce
Inscription : 02-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Pour complément d'info, tee -a sera plus équivalent à >> (append : ajoute au fichier) ; si on fait juste tee ou > on écrase le fichier, donc on a juste le résultat de la dernière commande.

Dernière modification par nam1962 (12-08-2020 10:18:57)


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Manjaro Xfce - Debian Xfce - Yunohost - Xebian Et vous ?
61 convertis  IRL (n'ont pas eu le choix...).

Hors ligne

#11 12-08-2020 10:53:30

David5647
Membre
Distrib. : Debian Bullseye/Sid
Noyau : 5.7.0-2-amd64
(G)UI : KDE/i3wm
Inscription : 27-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

JM38 a écrit :

que signifie urxvt --hold (je suppose hold je garde à l'écran , car ne ferme pas ? et urvxt


urxvt, c'est le nom du terminal que j'utilise, oui le hold maintinet la fenêtre ouverte après l'execution.

Je n'ai pas trop réfléchi, et je me suis un peu avancé...
Si la commande que j'ai proposée (urxvt ...) est plus simple et plus facile à comprendre, elle est spécifique à ce terminal (urxvt).
Les arguments tel que --hold, sont spécifiques à urxvt, la syntaxe sera différente pour un autre terminal..
La commande proposée par nam1962 à l'avantage de 'adapter au système en place et d'utiliser un terminal déjà installé.

Oui commande_1 un correspondrait à systemd-analyse blame

JM38 a écrit :

quel est le paramètre autre que tee qui permet d'afficher le résultat à l'écran



Si tu executes :

systemd-analyze time

on dit que la sortie de la commande est redirigée vers la sortie standard, c-à-d qu'elle est affichée dans le terminal

systemd-analyze time > fichier.txt

redirige la sortie vers un fichier, rien n'est affiché dans le terminal.
Utiliser tee permet de faire les deux en même temps

Dernière modification par David5647 (12-08-2020 10:53:41)

Hors ligne

#12 12-08-2020 14:38:40

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

si je résume
il y a 2 façons de faire si je veux créer un fichier qui execute 2 commandes avec le résultat à l’écran et en append dans un fichier
Solution 1
1 créer un fichier extension sh ou rien exemple monscript.sh  dans mon dossier JM/analyze
inscrire dans le fichier
#!/bin/bash
sh -ic "systemd-analyze time | tee -a test.txt; exec bash"
sh -ic "systemd-analyze blame | tee -a test.txt; exec bash"

enregistrer  le fichier monscript.sh 

2  rendre executable ce script
chmod +x monscript.sh

3 cîquer sur le fichier monscript.sh 

Solution 2
Clic droit sur le bureau - [Créer un lanceur]

Nom  toto 
commande :
sh -ic "systemd-analyze time; exec bash"


ou plutot vour l’avoir conserve sur l’écran
-e bash ---hold  -c "systemd-analyze time"



ou
sh -ic "systemd-analyze time | tee -a ~/JM/analyse/test.txt; exec bash"


La première fois qu’on le  lances par double clic il faut l'autoriser : "Marquer exécutable".

Pouvez vous me confirmer la syntaxe exacte
Merci
J'avoue ne pas bien comprendre pourquoi nommer un  terminal ?
mais je suis béotien !!
JM

Hors ligne

#13 12-08-2020 14:52:07

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

suite
dans le fichier script monscript.sh pour les lignes

sh -ic "systemd-analyze time | tee -a test.txt; exec bash"
sh -ic "systemd-analyze blame | tee -a test.txt; exec bash"

est on obligé d'écrire sh -ic et exec  bash ?
peut-on écrire
simplement
systemd-analyze time | tee -a test.txt


si non je comprends ainsi:
car on lui a signifié qu'on faisait du shell avec #!/bin/bash au début du fichier
-C = commande et exec bash demande une execution
c'est comme si on met dans une catapulte la commande (car on écrit -c )"systemd-analyze time"
et qu'ensuite on tire avec exec bash
es-ce que cette image est la bonne?
de toutes façons quand je serai sur mon pc linux j'essaierai
merci encore
il y a toujours un moment où on nage complètement et je crois que j'y suis (rires)

Hors ligne

#14 13-08-2020 10:24:46

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour
Voici mes tests
en résumé
avec le script ça ne marche pas
avec le lanceur sur le bureau c'est ok
mais je n'arrive pas à obtenir la date, et à obtenir le résultat sur écran (sinon l'append marche bien)

j'ai essayé avec un script que j'ai mis en exécutable (x)  et que je choisis en cliquant Lancer dans un terminal

#!bin/bash
sh -ic "systemd-analyze time | tee -a test.txt; exec bash"

#!bin/bash
-ic "systemd-analyze time | tee -a test.txt"; exec bash

#!bin/bash
-ic "systemd-analyze time | tee -a test.txt"

#!bin/bash
-ic "systemd-analyze" time | tee -a test.txt

#!bin/bash
-ic "systemd-analyze" time  -a test.txt

#!bin/bash
-ic "systemd-analyze time  -a test.txt"

#!bin/bash
-ic "systemd-analyze time"

#!bin/bash
systemd-analyze time

j'ai toujours  l'erreur

Il y a eu une erreur lors de la création du processus fils pour ce terminal

L’exécution du processus fils « /home/utilisateur/Bureau/JM/analyse/scriptjm.sh » a échoué (Aucun fichier ou dossier de ce type

Dans les préférences j'ai tout essayé
lancer la commande en tant que shell
executer une commande personnalisée au lieu de mon shell

test lanceur
[Desktop Entry]
Name=script
c
Comment=
Terminal=True
Icon=cinnamon-panel-launcher
Type=Application
ça a marché mais la date n'est pas inscrite (j'ai mis date avant aussi
[
Exec=sh -ic "systemd-analyze time  date  | tee   -a ~/JM/analyse/test.txt; exec bash"

et je n'ai pas le résultat à l'écran
même en corrigeant" à la main"  le script (Terminal = True au lieu de false)

même avec ceci
sh -ic "systemd-analyze time  --hold  | tee   date -a ~/JM/analyse/test.txt; exec bash"

Merci
JM

Hors ligne

#15 13-08-2020 15:09:39

nam1962
Banni(e)
Distrib. : Manjaro, Debian, Xebian, Yunohost
Noyau : Ca dépend
(G)UI : Xfce
Inscription : 02-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Euuuhhh, pourquoi chercher à inventer des trucs ?
Si tu appliques la 3e commande du #4 ou mieux la commande du #5, en cochant executer dans un terminal, tu as, l'affichage dans le terminal, l'horodatage et l'ajout dans le fichier....


Avec la suggestion de @vv222, tes chemins et décorations, ça donne tout simplement :

[Desktop Entry]
Version=1.0
Type=Application
Name=Test
Comment=
Exec=sh -ic "{ date ; systemd-analyze time ; } | tee -a JM/analyse/test.txt ; exec bash"
Icon=cinnamon-panel-launcher
Path=
Terminal=true
StartupNotify=false



Ps, dans tes retours, peux-tu mettre les balises code qui rendent le post lisible ? (autre code)


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Manjaro Xfce - Debian Xfce - Yunohost - Xebian Et vous ?
61 convertis  IRL (n'ont pas eu le choix...).

Hors ligne

#16 13-08-2020 21:35:12

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonsoir et merci
création du script

Euuuhhh, pourquoi chercher à inventer des trucs ?
Si tu appliques la 3e commande du #4 ou mieux la commande du #5, en cochant executer dans un terminal, tu as, l'affichage dans le terminal, l'horodatage et l'ajout dans le fich


je n'ai pas compris , j'ai bien coché exécuter dans un terminal, c'est pourquoi j'ai sur l'écran le message d'érreur
c'est quoi la 3ième commande du #4
c'est quoi la commande du #5

lanceur sur Bureau

  @vv222, suggérait
sh -ic "date | tee -a Documents/test.txt ; systemd-analyze time | tee -a Documents/test.txt ; exec bash"
puis effectivement
Pas testé, donc à prendre avec des pincettes, je suggère :
sh -ic "{ date ; systemd-analyze time ; } | tee -a Documents/test.txt ; exec bash"
mais c'était avec des pincettes !! j'ai donc zappé

NB ce sont des ( ou des { ?

le système marcherait ainsi
l'interpréteur (exec bash) execute la commande (-ic) qui affiche la date (date) puis execute la commande
systemd-analyze avec le paramètre time, pour l'afficher à l'écran et exporter (| tee ) en append (-a) dans  le fichier
Documents/test.txt
c'est le mot date qui était donc mal placé ?

Vous proposez
Exec=sh -ic "{ date ; systemd-analyze time ; } | tee -a JM/analyse/test.txt ; exec bash"


je n'arrive pas à décrypter la syntaxe exacte de la commande (entre les ;, les {, les "
date est une commande en elle-même ou un paramètre lié à systemd-analyze?
je suis désolé pour ces questions qui peuvent vous sembler nulles
Merci pour votre compréhension
JM
:

Hors ligne

#17 13-08-2020 22:09:50

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : sid / bullseye (future stable)
Noyau : Linux -5.10.0-7-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

JM38  a écrit :

Bonjour
j'aimerais créer un fichier équivalent d'un fichier bat windows


-- ceci -- peut il t'aider ?  (wikibooks)
petits rappels sur les scripts (Lx) équivalents fichiers bat (sur w$) .

-- openclassrooms -- petite introduction aux scripts . un peu costaud p - ê pour un débutant .

si je t'ai embrouillé plus qu'autre chose , tu me le dis , JM38 ...

peace_flag.gif

Dernière modification par Debian Alain (13-08-2020 22:18:21)

Hors ligne

#18 14-08-2020 08:32:36

nam1962
Banni(e)
Distrib. : Manjaro, Debian, Xebian, Yunohost
Noyau : Ca dépend
(G)UI : Xfce
Inscription : 02-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

+1 Debian Alain !

@JM38
Pour les #4 et #5, il suffit de cliquer sur le lien en bleu dans mon post #15 (le numéro à droite de la ligne de titre de chaque post)

JM38 a écrit :

le système marcherait ainsi
l'interpréteur (exec bash) execute la commande (-ic) qui affiche la date (date) puis execute la commande
systemd-analyze avec le paramètre time, pour l'afficher à l'écran et exporter (| tee ) en append (-a) dans  le fichier
Documents/test.txt


Grosso, oui.

Du coup je ne comprends pas le paragraphe suivant... oui date est une commande, le plus simple, en dehors des lectures recommandées par Debian Alain c'est d'entrer les commandes une à une dans un terminal et regarder comment elles se comportent.

Il y a aussi man !

man date



Surtout, on ne sait pas si tu as bien créé le fichier sur ton bureau, ni si tu l'as testé, ni si ça a bien fonctionné ???

Dernière modification par nam1962 (14-08-2020 08:33:09)


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Manjaro Xfce - Debian Xfce - Yunohost - Xebian Et vous ?
61 convertis  IRL (n'ont pas eu le choix...).

Hors ligne

#19 14-08-2020 08:51:07

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : sid / bullseye (future stable)
Noyau : Linux -5.10.0-7-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

nam1962  a écrit :

oui date est une commande, le plus simple, ... / ...  c'est d'entrer les commandes une à une dans un terminal et regarder comment elles se comportent.

tout à fait , n'hésite pas .

date

ven. 14 août 2020 08:44:59 CEST



systemd-analyze time

Startup finished in 5.222s (kernel) + 27.522s (userspace) = 32.744s
graphical.target reached after 26.837s in userspace



-- tee -- man fr .

si çà peut t'aider, JM38 ...

si c'est trop compliqué pour toi .
et çà se comprends très bien .
pense  aux alias .
beaucoup plus facile et tout aussi utile surtout si tes commandes ne sont pas  trop longues .

-- alias -- (Debian - Facile)

nam1962 post #4  a écrit :

Le cas échéant, tu peux remplacer le lanceur par un alias


si tu me le demande , JM38 , je peux te fournir un fichier exemple (le mien) pour ~ /.bash_aliases

Dernière modification par Debian Alain (14-08-2020 09:15:48)

Hors ligne

#20 15-08-2020 09:35:34

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour et merci
j'ai réussi à faire marcher le lanceur sur le bureau  (Ouf)
voici mon fichier

[Desktop Entry]
Version=1.0
Type=Application
Name=Test
Comment=
Exec=sh -ic "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt ; exec bash"
Icon=cinnamon-panel-launcher
Path=
Terminal=true
StartupNotify=false

NB
je n'ai pas réussi à trouver le moyen de lui signifier de le lancer en mode terminal
le seul moyen est de l'éditer et de lui mettre la valeur true dans le paramètre Terminal
la parenthèse "(" ou l'accolade "{"  sont équivalentes
***********
quant au script pas moyen
j'ai passé les commandes "à la main" en mode terminal
ça passe
j'ai compris les significations des ;  et des parenthèses (ici sans le ; et sans la parenthèse l'export de la date ne marche pas
(date; systemd-analyze time)  | tee -a test15.txt

je n'ai pas réussi à réaliser l'append avec le signe >
(date; systemd-analyze time) > test15.txt

-a devant derrière ou a tout court ne marchent pas (mais ce n'est pas grave je suis en formation
************
voici mon fichier script in extenso avec mes essais

#!bin/bash
sh -ic "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt ; exec bash"

#!bin/bash
-ic "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt ; exec bash"

#!bin/bash
-ic (date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt

#!bin/bash
-c "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt ; exec bash"

#!bin/bash
-c "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt "; exec bash

#!bin/bash
c "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt ; exec bash"

Bref
je n'y arrive pas
j'ai toujours l'erreur:
Il y a eu une erreur lors de la création du processus fils pour ce terminal
L’exécution du processus fils « /home/utilisateur/Bureau/JM/analyse/scriptjm.sh » a échoué (Aucun fichier ou dossier de ce type)
merci pour votre aide
JM

Hors ligne

#21 15-08-2020 12:38:00

nam1962
Banni(e)
Distrib. : Manjaro, Debian, Xebian, Yunohost
Noyau : Ca dépend
(G)UI : Xfce
Inscription : 02-08-2017

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

J'y pense : quand on t'indique une ligne de commande, le truc le plus simple et fiable pour l'utiliser est de triple cliquer dessus, puis de la copier coller dans le terminal (clic molette colle aussi et au clavier il faut faire crtl - majuscule - V)

Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Manjaro Xfce - Debian Xfce - Yunohost - Xebian Et vous ?
61 convertis  IRL (n'ont pas eu le choix...).

Hors ligne

#22 15-08-2020 14:07:22

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour Nam
je sais le copier coller, j'ai appris grace au forum qu'il faut faire Ctrl Majuscule  V ou C pour coller ou copier vers ou à partir du terminal
mais je ne sais toujours pas creer le bon script
ça me semble très verbeux
entre  rendre  exécutable le fichier
puis inscrire au début
#!bin/bash

et entre
sh (shell)
-c pour commande
exec bash pour l'interpréteur

ça fait pas mal de redondances en regard du point.bat de windows
où il suffit de le suffixer par .bat
et de lui exprimer la commande
exemple
cd JM
copy toto.txt tata.txt

au lieu de
sh -ic "(date ; systemd-analyze time ; ) | tee -a JM/analyse/test.txt ; exec bash" 


Que je n'arrive pas à maîtriser  SIC !!!
A suivre ?
Merci
JM

Hors ligne

#23 15-08-2020 14:19:34

Debian Alain
Adhérent(e)
Lieu : Bretagne
Distrib. : sid / bullseye (future stable)
Noyau : Linux -5.10.0-7-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

salut les gars  smile  smile  smile

je conseille toujours de suffixer les  fichiers avec l'extension correspondante .
c'est beaucoup plus facile pour se repérer ,
y compris aussi pour le systeme .

comment voulez vous que linux comprenne que le fichier est un script bash si vous le suffixez en ".txt" ?

de même , il es très facile de se mélanger les pinceaux si on ne met aucune extension .

je conseilles donc ceci à JM38 :

- places toi dans le bon dossier .
- crée ton fichier  avec nano et
- n'oublies pas de le suffixer ".sh"
- n'oublies pas non plus le shebang .
- penses aussi à le rendre exécutable (chmod +x <ton fichier.sh>)

enfin , tests , tests , et  encore tests  (avec de la chance .... peut être ?)

amicalement ,

alain

coyotus.png

Dernière modification par Debian Alain (15-08-2020 14:30:03)

Hors ligne

#24 15-08-2020 14:31:43

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

Bonjour Alain
je suis d'accord avec toi pour le suffixe, je fais toujours ainsi
pour nano
Simplement dans un terminal lancez nano avec le nom du fichier à créer ou existant : nano -w nom_du_fichier. Ceci l'ouvrira dans une fenêtre d'édition.
ça ne va pas m'aider
que ce soit avec nano ou avec l'éditeur de texte, quelle différence
- penses aussi à le rendre exécutable (chmod +x <ton fichier.sh>)
j'ai fait

bref le canard est toujours vivant
A plus
JM

pour le shebang
Le shebang, représenté par #!, est un en-tête d'un fichier texte qui indique au système d'exploitation (de type Unix) que ce fichier n'est pas un fichier binaire

Hors ligne

#25 15-08-2020 14:34:38

JM38
Membre
Distrib. : LMDE4 debbie
Noyau : Linux 4.19.0-9 Cinnamon 4.4.8
Inscription : 03-06-2020

Re : Création d'un fichier de commandes (~.bat) sur le bureau(résolu merci

c'est peut-etre

le #!bin/bash  qui le gêne ?
est-on obligé de se positionner dans ce dossier?
Merci
JM

Hors ligne

Pied de page des forums