The shell printed "finished" every time a program gave the machine back. That made sense when starting a program and getting the machine back was most of what the machine did and the prompt was the only other thing on the screen. Under a listing, between two commands, it is noise. And it was printed whatever the program made of it, so a program that had just explained what went wrong was answered with the word "finished" - "there is no such directory: nowhere" and then, immediately, "finished". The prompt coming back is what says a program is over. It is the same argument osLastStatus is made of: a program that failed has already said so in words, and anything the shell adds beside that is the shell talking over it. A program that FAULTED still says so, because the fault screen printed in red above and a program that is gone should not look like one that ended. A NEWLINE ONLY IF ONE IS WANTED. A program that stopped part way along a line would leave the prompt sitting in the middle of its last output, which the word used to prevent by accident. The console knows which column the cursor is in, so the shell asks - where a blank line printed every time would be right about half of the time, and an empty directory listed with ls would be followed by a blank line for no reason. Fifty nine recorded sessions lose the word. Two of them move a cursor up a row with it, which is the same fact seen from the screen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E2JrLzFvuFX9fgi1LDRjrW
58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
CosmOS
|
|
> Say hello there
|
|
it says: hello there
|
|
> Say.sbx spelled out in full
|
|
it says: spelled out in full
|
|
> run once more
|
|
it says: once more
|
|
> dir
|
|
Say.sbx 156
|
|
dir.sbx 156
|
|
Greet 156
|
|
notes.txt 21
|
|
notes.sbx 21
|
|
hello.sh 38
|
|
Apps <dir>
|
|
6 files, 1 directory
|
|
8 of 16 entries, 54 blocks free
|
|
> Greet a program with no extension
|
|
it says: a program with no extension
|
|
> hello.sh
|
|
> echo a script, started by its name
|
|
a script, started by its name
|
|
> away.sh
|
|
> echo a script from the system place
|
|
a script from the system place
|
|
> notes
|
|
that is not a program or a script: notes
|
|
> notes.sbx
|
|
that is not a program or a script: notes.sbx
|
|
> notes.txt
|
|
that is not a program or a script: notes.txt
|
|
> nosuchprogram
|
|
I do not know: nosuchprogram
|
|
> abcdefghijklmnopqr
|
|
I do not know: abcdefghijklmnopqr
|
|
> abcdefghijklmnopqrs
|
|
I do not know: abcdefghijklmnopqrs
|
|
> help
|
|
dir list what is on the disk
|
|
load <file> read a program off the disk
|
|
run [words] start what was loaded, and tell it those words
|
|
<name> [words] look where you are and then in /Apps, and start that
|
|
cd [path] go to a directory, or to the root with nothing after it
|
|
mkdir <path> make a directory
|
|
rmdir <path> remove an empty one
|
|
do <file> [words] run the lines in a file, which must start with #!
|
|
echo [words] say them
|
|
clear empty the screen
|
|
delete <file> take it off the disk
|
|
rename <file> <to> call it something else
|
|
monitor look at memory, change it, and jump into it
|
|
help this
|
|
exit stop, or leave the monitor if you are in it
|
|
> exit
|
|
halted
|
|
Execution halted.
|
|
[exit 0]
|