[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

469.0. "Unknown command under shell 2.5" by CESARE::ZABOT (Marco Zabot-Adv.Tech.mgr-Turin ACT) Tue Apr 21 1987 14:21

	I've compiled Matt's SHELL 2.05a.
	When from it I try to execute a regular command ( such as PATH , the
	first one I tried ) there is some scanning of the DF0:C ( I suppose )
	directory ( nothing happens on other drives ) then the message
		Unknown Command PATH
	hits me !!
	Any similar experience?? 
	marco.
T.RTitleUserPersonal
Name
DateLines
469.1ECC::JAERVINENDown with gravity!Tue Apr 21 1987 15:486
    I think it will give you that message for *any* failure to start
    an external command - like not enough memory etc. But I have observed
    the same behaviour (only randomly) where it won't start an external
    command even when everything seems to be ok (shell's path correct,
    enough memory, the requested file is definitely there etc.).
    
469.2Let me ExplainCGFSV1::DREWSteve DrewWed Apr 22 1987 14:4923
    RE: .1
    
    When you say you compile shell 2.05a do you mean Matt's 2.05 or
    my version of 2.05M which is quite different, then one that has
    command line editing, more commands, pathing ect.. and runs under
    manx.
    
    If you mean my version sounds like you have manx 3.20a and have
    not installed the patch for the fexec functions which die under
    1.2. And that is exactly what you'd see 'unknown command ect...'
    
    Also there are a couple of patches needed for shell to work properly
    under manx 3.4, due to changes in the manx libraries.
    
    RE: .2
    
    I use shell every day and the only time I ever get unknown command
    error is when I make a typo, or the file's not there.
    There is a problem with the manx 3.20a fexecv funtions where some
    programs written by lattice cause a task held when invoked, like
    polygon2 of fredfish disk nn. But this is fixed by manx 3.4a.
    
    Steve.
469.3ECC::JAERVINENDown with gravity!Thu Apr 23 1987 06:5110
    re .-1: I haven't compiled your shell; I'm using the executable
    I pulled off the net some time ago.
    
    Nevertheless, I have this problem every now and then; sometimes
    I have just started too much stuff (I have only 512k) and I seem
    to get 'unknown command' when there's not enough memory. However,
    it sometimes happens that I get unknown command when I am positive
    that I have enough memory and the file is there (and I haven't changed
    any paths, assignemnts etc.).
    
469.4Patches neededPOMPEO::ZABOTMarco Zabot-Adv.Tech.mgr-Turin ACTThu Apr 23 1987 10:068
    re .2
    Steve,
    you're fully right. Give credit where it's due.
    YES! I'm using YOUR version ( of course )!
                   ----
    Do you ( or some other kind soul) have the mentioned patches for
    MANXC 3.20a handy ?? Thanx.
    
469.5Sometimes it happens !CESARE::ZABOTMarco Zabot-Adv.Tech.mgr-Turin ACTThu Apr 23 1987 13:385
    ( CRAZY-FLAG on )
    Talking to myself !!
    Marco, you have the patches right on your own directory LEDUMP.
    Why do you bother the world asking what you already have ??
    ( CRAZY-FLAG off )
469.6Fragmentation?DEBIT::RAVANThu Apr 23 1987 14:137
    re: .3
    
    Maybe you're getting 'unknown command' because memory is becoming
    fragmented and the AllocMem call is failing because of fragmentation,
    not because of lack of memory?  Just a thought.
    
    -jim
469.7lower case ?MQFSV1::LECOMPTEHubert LecompteThu Apr 23 1987 15:4613
I think I had the same problem.

Shell accept only lowercase character as commands if you use uppercase
it will send the command to DOS who will try to get it from the C:
directory.

Since shell uses commands that are not in the C: directory you will
get unknown error.

	 			Hope that it helps.
	 					     Hubert.

469.8Fixed it !CESARE::ZABOTMarco Zabot-Adv.Tech.mgr-Turin ACTFri Apr 24 1987 08:1231
    I think I'm getting closer to understand ....
    First. I must admit that in my 25 years of experience ( many of
    which in supporting Customers) my favorite sentence has always been:
    " Have read the documentation ??? This time I hadn't !!!
    
    Summary.
    1 - I'm using 2.05M Steve Drew version.
    2 - This shell accepts shortened commands ( ver == version ). This
    	may be the reason for some of the following rules.
    3 - A command is parsed to see if it matches an internal
    	command ( shell built in commands )
    4 - If not, it is parsed to check if it begins with RUN in which
    	case it is passed as it is to DOS for execution.
    5 - If not, the shell try to locate the VERB of the command line
    	using the SHELL PATH SEARCH LIST , defined with 
    		SET _PATH path1,path2,path3 ....
    6 - If not found, the shell issues the message Command not found.
    
    The default _path is   C:, RAM:, RAM:C/, DF0:C/, DF1:c/
    My DOS_path was :      C:, VD0:C/ , ....
    that's why all the commands on VD0:C were not found.

    Suggested implementation. Instead of 6) above:
    6 - Command is passed as it is to DOS for execution. The STATUS
    	is intercepted ( new feature in 1.2 ) and if not zero
    7 - The shell issue the message ' Command not found'
    
    In this case you'll have two search pathes.
    BTW. All this is true AFTER I have patched MANX C for 1.2
    Thanx to all for the support.
    marco
469.9ECC::JAERVINENDown with gravity!Fri Apr 24 1987 13:136
    re .7: yes, I know about lower/upper case - in fact, I use it
    extensively(like saying "Set" instead of "set" to start the external
    command SET.
    
    The comment on memory fragmentation might be a valid one, though.
    
469.10ShellAUTHOR::MACDONALDWA1OMM Listening 224.28Fri Apr 24 1987 17:125
    $ FORMAT DRIVE DF1: NAME DISK1
    
    Why doesn't this command work under Shell 2.05M?
    
    Paul
469.11FORMAT resides in the system directory.BIZET::TENNYDave Tenny | Vax Lisp developmentFri Apr 24 1987 20:233
re .10
My guess is that you must add the sys:system to the
_path list.  (I think format resides there).