Script shell récupérer ligne de commande
Résolu
Hethan666
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
jivef Messages postés 927 Date d'inscription Statut Membre Dernière intervention -
jivef Messages postés 927 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je tente de récupérer une ligne de commande déjà écrite (dans le genre historique) que je souhaite stocker dans un fichier.
Pour ne pas me perdre, j'écris en début de ligne la date complète actuelle.
J'ai trouvé sur internet une commande ayant un effet semblable à celui que je recherche, qui se trouve être "!"
Mon script ne fonctionne pas (sinon je ne passerais pas vous demander de l'aide !), j'aimerais savoir ce qui ne va pas. Est-ce parce que je n'utilise pas la bonne fonction ? Ou bien la syntaxe est-elle incorrecte pour cette même fonction ?
Voici mon script :
Merci d'avance pour vos réponses.
je tente de récupérer une ligne de commande déjà écrite (dans le genre historique) que je souhaite stocker dans un fichier.
Pour ne pas me perdre, j'écris en début de ligne la date complète actuelle.
J'ai trouvé sur internet une commande ayant un effet semblable à celui que je recherche, qui se trouve être "!"
Mon script ne fonctionne pas (sinon je ne passerais pas vous demander de l'aide !), j'aimerais savoir ce qui ne va pas. Est-ce parce que je n'utilise pas la bonne fonction ? Ou bien la syntaxe est-elle incorrecte pour cette même fonction ?
Voici mon script :
cd ~/log/ echo "'date +%Y-%m-%d-%T' - '!-1'" >> historique.list
Merci d'avance pour vos réponses.
A voir également:
- Script shell récupérer ligne de commande
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Partage de photos en ligne - Guide
- Recuperer message whatsapp supprimé - Guide
- Script vidéo youtube - Guide
2 réponses
salut,
l'historique du script n'est pas celui de la console.
au moment du rappel de la dernière commande ('!-1'), le script rappellera 'cd'
et encore, il faudrait ajouter 'set -H -o history'
'fc' peut peut-être t'aider?
l'historique du script n'est pas celui de la console.
au moment du rappel de la dernière commande ('!-1'), le script rappellera 'cd'
et encore, il faudrait ajouter 'set -H -o history'
'fc' peut peut-être t'aider?
Salut,
Tu n'utilises pas les bons guillemets.
En fait, pour encapsuler une commande entre guillemets pour prendre en compte son résultat, il ne faut pas utiliser le guillement du 4, mais celui du 7 (sur un clavier AZERTY).
A plus.
Jonas.
Tu n'utilises pas les bons guillemets.
En fait, pour encapsuler une commande entre guillemets pour prendre en compte son résultat, il ne faut pas utiliser le guillement du 4, mais celui du 7 (sur un clavier AZERTY).
A plus.
Jonas.
Salut,
Il y a une autre solution.
Je te donne un exemple de deux commandes qui ont la même valeur :
En premier lieu une commande affiche un texte avec une IP
#echo "Adresse IP = 202.3.225.115" | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
Tu veux récupérer l'IP dans une variable, deux solutions : le guillet du 7 ou bien $()
varip='echo "Adresse IP = 202.3.225.115" | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"'
Ou bien deuxième solution :
varip=$(echo "Adresse IP = 202.3.225.115" | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}")
Voila.
Donc essaie de remplacer '' par $()
Bon courage à toi.
Jonas.
Il y a une autre solution.
Je te donne un exemple de deux commandes qui ont la même valeur :
En premier lieu une commande affiche un texte avec une IP
#echo "Adresse IP = 202.3.225.115" | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
Tu veux récupérer l'IP dans une variable, deux solutions : le guillet du 7 ou bien $()
varip='echo "Adresse IP = 202.3.225.115" | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"'
Ou bien deuxième solution :
varip=$(echo "Adresse IP = 202.3.225.115" | grep -Eo "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}")
Voila.
Donc essaie de remplacer '' par $()
Bon courage à toi.
Jonas.
Je ne connaissais pas cet outil, qui à l'air assez "puissant".