Shell défensif qui aide ?
Un shell défensif qui permet une saisie plus sécurisée et guidée et qui vérifie l'applicabilité et la sécurité des commandes avant de les exécuter ?
Et si votre shell ne se contentait plus d’exécuter des commandes, mais aidait à les comprendre avant validation ?
L’idée : décrire chaque commande par une grammaire et proposer une auto-complétion sur les arguments avec aide contextuelle sur leur utilisation ou accès au man grâce à la touche <TAB>, proposer une complétion contextuelle navigable, filtrer fichiers wildcardés (en sélectionnant ceux que l'on veut vraiment dans la ligne de commande), sélectionner le <PID>, <UID> ou <GID> ou <DEV> après une option qui nécessite un PID, UID ou GID, ou devices selon les droits, explorer le filesystem quand l'option attend <FILE> | <DIR>, rechercher l’historique par regexp et construire un AST sémantique pour évaluer par sa résolution l'acceptabilité de l'opération selon le mode activé (défensif ou non défensif).
Un mode défensif pourrait alors simuler cp, mv ou rm, estimer espace et atomicité, détecter les risques également liés aux permissions et proposer retour en arrière, corbeille ou transaction avant exécution.
Ce projet d'extension de shell semble assez complexe à réaliser, cela demanderait sûrement le codage de nouvelles versions des commandes unix pour qu'elles répondent au schéma défensif proposé. Néanmoins le shell peut être étendu pour aider et guider l'administrateur ou l'utilisateur standard à saisir des commandes sans erreur de saisie si les options de toutes les commandes accessibles peuvent être définies dans une grammaire pour chacune d'elles.