Vous n'êtes pas identifié(e).
Dernière modification par JM38 (16-08-2020 09:12:45)
Hors ligne
tu écris les commandes à exécuter
il faut ensuite rendre le script executable
(ou clic droit > propriétés)
ps :
concernant tes commandes
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 08:30:29)
Hors ligne
Hors ligne
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) :
Si tu veux en plus avoir un horodatage :
(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
Dernière modification par nam1962 (10-08-2020 15: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
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 :
Hors ligne
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.
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
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 :
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
Hors ligne
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
doit contenir impérativement pour la commande systemd-analyze time
oui, la commande que tu veux executer
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 :
et fichier 2 :
Ou un lanceur pour le fichier 2 (script.sh)
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
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é:
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.
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 21:03:05)
Hors ligne
Hors ligne
Dernière modification par nam1962 (12-08-2020 09: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
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
quel est le paramètre autre que tee qui permet d'afficher le résultat à l'écran
Si tu executes :
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
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 09:53:41)
Hors ligne
Hors ligne
Hors ligne
Hors ligne
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
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
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 ...
Dernière modification par Debian Alain (13-08-2020 21:18:21)
Hors ligne
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 !
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 07: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
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 .
-- 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)
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 08:15:48)
Hors ligne
Hors ligne
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
Hors ligne
Dernière modification par Debian Alain (15-08-2020 13:30:03)
Hors ligne
Hors ligne
Hors ligne