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 29/07/2010, à 06:00

peyo56

Executeur un script a chaque commande tapée

Bonjour,

Dans le but de faire une interface publique conviviale de mon shell, je souhaitait que des script puisse etre automatiquement executés apres qu'un programme finisse, donc juste avant qu'on nous propose de tapper une nouvelle commande

J'ai actuellement un script qui detecte s'il y a eu un changement de dossier avec cd et execute d'autres scripts selon le dossier uniquement a ce changement.

Comment faire pour que a chaque fois qu'un processus se termine et que le shell me repropose d'ecrire quelque chose, il execute le meme script, qui s'occupera de gerer :

1) un affichage d'information specifique au dossier comme par exemple un petit rappel sur les commandes utiles dans ce dossier

2) une interation permetant de faire des acces specifiques, exemple: je vait dans un dossier ~/Vidéos, mais comme je me connait bien, je trie mes vidéos par type et donc, tout ce trouve dans des sous-dossier, il me poserait quelques question rapides pour m'orienter vers le bon dossier, ou alors, je vait dans le dossier contenant beaucoup de fiches, au lieu de taper a chaque fois ./chercher.sh (un script qui permetrait de trouver le fichier contenant les information que l'on donne), il l'executerait automatiquement.

3) pour la securité, on pourait empecher quelqu'un de rester dans un dossier, et le ramener dans le dossier parent, ce n'est pas tres utile, mais imaginont qu'un dossier s'appellant temp est lié a un script qui le fait se vider puis ressortir l'utilisateur, car de toute maniere ce serait la seule raison d'entrer dans ce dossier ... ( exemple con mais pour expliquer )


Installation simple : Windows Vista 1h48 - Ubuntu Maverick 0h27
Instalation complete: Windows Vista ... - Ubuntu Maverick 2h
Comme quoi, Il y en a qui choisissent trop vite mais pas pour le plus rapide ...
Actuelement : Ubuntu 12.04 (Unity)

Hors ligne

#2 Le 29/07/2010, à 10:29

Totor

Re : Executeur un script a chaque commande tapée

regarde ce fil


-- Lucid Lynx --

Hors ligne

#3 Le 29/07/2010, à 13:10

peyo56

Re : Executeur un script a chaque commande tapée

Merci beaucoup, en cherchant u peut, j'ai fini par trouver et ca donne ceci :

PROMPT_COMMAND="~/.prompt.sh"

Je vient d'avoir un second probleme, y a t'il une variable d'environnement ou une commande qui permetrait de connaitre rapidement la liste des fichiers modifiés, crées lors de la derniere commande, par exemple si un fichier de configuration est modifié, le script pourait appliquer directement toutes les commandes qui mettrait la modification en application, le cron pourait etre un bonne idée, seulement il faudrait que ce soit fait instantanément et non a la minute suivante, sinon il pourait y avoir des bug

Je precise mon projet, avec ajaxterm, je fait une interface web, des amis aurait accès a mon ordinateur et pourait executer certaines commandes (ils n'ont bien sur pas les droits d'administration et n'ont de droit d'écriture que dans leur dossiers respectifs ), notament contribuer a l'evolution d'un projet qu'on a ensemble, le probleme c'est qu'ils n'y connaissent rien en linux, je souhaitait donc, qu'ils puissent profitter de la puissance de linux tout en ayant pas l'air perdu.

Avec je compte les aider a apprendre le maniment de la bete, et pour cela il faut qu'ils se sentent aidé partout ou ils se trouvent dans l'ordinateur

il y a un systeme de menu pour qu'ils puissent executer de taches simplement

il y a aussi la possibilité pour eux de pouvoir se parler a travers un systeme de transfert de fichiers, et d'aide leur permettant de m'envoyer un message en cas de pepin...

Dernière modification par peyo56 (Le 29/07/2010, à 14:12)


Installation simple : Windows Vista 1h48 - Ubuntu Maverick 0h27
Instalation complete: Windows Vista ... - Ubuntu Maverick 2h
Comme quoi, Il y en a qui choisissent trop vite mais pas pour le plus rapide ...
Actuelement : Ubuntu 12.04 (Unity)

Hors ligne

#4 Le 11/08/2010, à 17:40

peyo56

Re : Executeur un script a chaque commande tapée

Voici le script que j'ai fait

a rajouter dans ~/.bashrc

PROMPT_COMMAND="~/.prompt.sh"

dans ~/.prompt.sh

#!/bin/bash
if [ "$(cat ~/.dir)" = "$PWD" ]
then 
 echo $(pwd) > ~/.dir
else
 echo $(pwd) > ~/.dir
 if [ -e ".autorun.sh" ]
 then
  ./.autorun.sh
 fi
fi

dans les fichiers .autorun.sh dans chaque dossier ( exemple ici pour ~/.autorun.sh)

#!/bin/bash
clear
echo Bonjour et bienvenu dans votre session

Vous pouvez mettre un fichier .autorun.sh dans tout dossier ou vous souhaiter qu'il se passe quelque chose

A faire :

- faire qu'un script .autorun.sh puisse rediriger vers un autre dossier
- faire une securité pour éviter qu'un script non crée par l'utilisateur ne soit executé automatiquement (si c'est le cas, voire pour un message d'avertissement et une confirmation d'execution)

Faites vos propositions ...

Dernière modification par peyo56 (Le 11/08/2010, à 17:46)


Installation simple : Windows Vista 1h48 - Ubuntu Maverick 0h27
Instalation complete: Windows Vista ... - Ubuntu Maverick 2h
Comme quoi, Il y en a qui choisissent trop vite mais pas pour le plus rapide ...
Actuelement : Ubuntu 12.04 (Unity)

Hors ligne