I have idea about making intelligent and user friendly shell.I will be very thankful if your organisation can mentor my project during GSOC. Idea is: For a novice user remembering all commands is not possible ,Converting simple written English into shell commands can help an un experienced users to use and learn shell commands .Secondly,Terminal uses exact command matching model .Some user might forget exact command ,in such cases approximate matching capability of shell can suggest commands to user,from which user can select appropriate command . English text can be processed using lexical,semantic , syntatic knowledge and real world information of the language (NLP) and hence commands can be generated .Applying these concepts in shell can help novice user to get commands coresponding to written english text. For example: 1. Suppose someone want to connect to internet using dial up . He/She has to first configure wvdial.conf where he/she has to write modem type, user name ,password and then execute wvdial command to start connection .For an inexperienced user, it will be good if system can support him/her for performing these tasks by either guiding or executing commands for user. By making a new command for this purpose say “help me” command can help user. @root# help me “connect to net". it automatically finds that wvdial.conf has to be configured and prompt user to configure it and then give a message telling "wvdial" should be used to connect to net or shell automatically execute the command.
For correcting commands, Listance model a variation of Longest Common Subsequence Model can be used. In this model two words are considered to be same if there Listance is not more then a predefined number k. Suppose that length of two words A and B is m and n respectively, then the listance between them is defined as max(m,n)-Least Common SubSequence(A,B).By storing a collection of SubSequences extracted from actual command in a table and performing the similar transformation when user type incorrect command to get approximate command will result into more user friendly shell. 1.Example if k is 1 and command is ifconfig then (fconfig ,iconfig ,ifonfig ,ifcnfig ,ifconif ,ifconfg,ifconfi) will be stored in Sub Sequence Command Table for ifconfig command by deleting one character from ifconfig. If user types ipconfig as there is no command like this available so correcting algorithm wiil be called which will generates the sub sequenences (pocnfig,iconfig,ipcnfig,ipcofig,ipconfg,ipconfi) . iconfig is there in both set of sequences so ifconfig is suggested as approximate command to user. Thanks Mahaveer VIT University India _______________________________________________ Soc-coordination mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/soc-coordination
