Updated doc and FULLBOOT (stable.800) for dev to examine.

This commit is contained in:
Patrick Kloepfer 2019-11-26 13:42:25 -05:00
parent 27817a2a79
commit 89cde54306
6 changed files with 239 additions and 88 deletions

View File

@ -1,7 +1,7 @@
# A2osX Shell Developers Guide
### Updated November 24, 2019
### Updated November 25, 2019
One of the most significant parts of A2osX is its shell which can perform both interactive and scripted tasks. Using the interactive part of the shell, you can perform many common and complex tasks using both built-in (native or internal to shell) and external (BIN or executable) commands. Internal commands include CD (change directory), MD (make directory), PWD, DATE, etc. External commands include CP (copy), RM (remove), CAT (display file contents), TELNET, etc. It is even possible to create and execute short scripts right on the interactive command line (these are run once and not saved like true scripts) such as:
@ -213,6 +213,7 @@ The A2osX shell contains an expression evaluator that can perform simple integer
SET C = A * B # 1230
SET C = A / B # 12
SET C = A MOD B # 3
SET C = 100 * 2 / 4 + 2 / 13 * 4 # 16
#### \<op\>

Binary file not shown.

Binary file not shown.

109
EXAMPLES/ANDORDEMO.txt Normal file
View File

@ -0,0 +1,109 @@
NEW
PREFIX
AUTO 4,1
#!/BIN/SH
#
# Complex AND OR Tests
#
SET A = 1
SET B = 2
SET C = 3
SET D = 4
ECHO -N "TRUE AND TRUE OR TRUE AND TRUE ---> "
IF [ $A -eq 1 ] AND [ $B -eq 2 ] OR [ $C -eq 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND TRUE OR TRUE AND FALSE ---> "
IF [ $A -eq 1 ] AND [ $B -eq 2 ] OR [ $C -eq 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND TRUE OR FALSE AND TRUE ---> "
IF [ $A -eq 1 ] AND [ $B -eq 2 ] OR [ $C -ne 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND TRUE OR FALSE AND FALSE ---> "
IF [ $A -eq 1 ] AND [ $B -eq 2 ] OR [ $C -ne 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND FALSE OR TRUE AND TRUE ---> "
IF [ $A -eq 1 ] AND [ $B -ne 2 ] OR [ $C -eq 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND FALSE OR TRUE AND FALSE ---> "
IF [ $A -eq 1 ] AND [ $B -ne 2 ] OR [ $C -eq 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND FALSE OR FALSE AND TRUE ---> "
IF [ $A -eq 1 ] AND [ $B -ne 2 ] OR [ $C -ne 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "TRUE AND FALSE OR FALSE AND FALSE ---> "
IF [ $A -eq 1 ] AND [ $B -ne 2 ] OR [ $C -ne 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND TRUE OR TRUE AND TRUE ---> "
IF [ $A -ne 1 ] AND [ $B -eq 2 ] OR [ $C -eq 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND TRUE OR TRUE AND FALSE ---> "
IF [ $A -ne 1 ] AND [ $B -eq 2 ] OR [ $C -eq 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND TRUE OR FALSE AND TRUE ---> "
IF [ $A -ne 1 ] AND [ $B -eq 2 ] OR [ $C -ne 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND TRUE OR FALSE AND FALSE ---> "
IF [ $A -ne 1 ] AND [ $B -eq 2 ] OR [ $C -ne 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND FALSE OR TRUE AND TRUE ---> "
IF [ $A -ne 1 ] AND [ $B -ne 2 ] OR [ $C -eq 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND FALSE OR TRUE AND FALSE ---> "
IF [ $A -ne 1 ] AND [ $B -ne 2 ] OR [ $C -eq 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND FALSE OR FALSE AND TRUE ---> "
IF [ $A -ne 1 ] AND [ $B -ne 2 ] OR [ $C -ne 3 ] AND [ $D -eq 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
ECHO -N "FALSE AND FALSE OR FALSE AND FALSE ---> "
IF [ $A -ne 1 ] AND [ $B -ne 2 ] OR [ $C -ne 3 ] AND [ $D -ne 4 ]
ECHO TRUE
ELSE
ECHO FALSE
FI
MAN
TEXT /MAKE/USR/SHARE/EXAMPLES/ANDORTESTS

View File

@ -1,72 +1,72 @@
NEW
PREFIX
AUTO 4,1
A2OSX.LOGO
A2OSX.SYSTEM
BIN/ARP
BIN/CAT
BIN/CHMOD
BIN/CHTYP
BIN/CMP
BIN/CP
BIN/CUT
BIN/DNSINFO
BIN/EDIT
BIN/FORMAT
BIN/GREP
BIN/HTTPGET
BIN/IPCONFIG
BIN/KILL
BIN/LS
BIN/LSDEV
BIN/LSOF
BIN/MD5
BIN/MEM
BIN/MEMDUMP
BIN/MKDIR
BIN/MORE
BIN/MV
BIN/NETSTAT
BIN/NSCUTIL
BIN/PAK
BIN/PING
BIN/PS
BIN/RM
BIN/RPCDUMP
BIN/SH
BIN/TELNET
BIN/TERM
BIN/UNPAK
BIN/USERADD
BIN/USERDEL
BIN/WC
BIN/WHO
DRV/LANCEGS.DRV
DRV/SSC.DRV
DRV/SSC.I.DRV
DRV/UTHERNET.DRV
DRV/UTHERNET2.DRV
ETC/HOSTNAME
ETC/HOSTS
ETC/INIT
ETC/ISSUE
ETC/MOTD
ETC/NETWORK
LIB/LIBBLKDEV
LIB/LIBCRYPT
LIB/LIBPAK
LIB/LIBTCPIP
SBIN/GETTY
SBIN/INITD
SBIN/INSDRV
SBIN/KCONFIG
SBIN/LOGIN
SBIN/NETWORKD
SBIN/TELNETD
SYS/KERNEL
SYS/KM/KM.APPLETALK
SYS/KM/KM.NSC
SYS/KM/KM.RAMWORKS
SYS/KM/KM.VSDRIVE
a2osx.logo
a2osx.system
bin/arp
bin/cat
bin/chmod
bin/chtyp
bin/cmp
bin/cp
bin/cut
bin/dnsinfo
bin/edit
bin/format
bin/grep
bin/httpget
bin/ipconfig
bin/kill
bin/ls
bin/lsdev
bin/lsof
bin/md5
bin/mem
bin/memdump
bin/mkdir
bin/more
bin/mv
bin/netstat
bin/nscutil
bin/pak
bin/ping
bin/ps
bin/rm
bin/rpcdump
bin/sh
bin/telnet
bin/term
bin/unpak
bin/useradd
bin/userdel
bin/wc
bin/who
drv/lancegs.drv
drv/ssc.drv
drv/ssc.i.drv
drv/uthernet.drv
drv/uthernet2.drv
etc/hostname
etc/hosts
etc/init
etc/issue
etc/motd
etc/network
lib/libblkdev
lib/libcrypt
lib/libpak
lib/libtcpip
sbin/getty
sbin/initd
sbin/insdrv
sbin/kconfig
sbin/login
sbin/networkd
sbin/telnetd
sys/kernel
sys/km/km.appletalk
sys/km/km.nsc
sys/km/km.ramworks
sys/km/km.vsdrive
MAN
TEXT /MAKE/USR/SHARE/MAKE/FULLFILES

View File

@ -65,31 +65,72 @@ SWITCH $RCS
ECHO "Exiting"
EXIT
END
ECHO "Which Prodos:"
ECHO " 1) Asset ProDOS 2.03tc"
ECHO " 2) Asset ProDOS FX"
ECHO " 3) Asset ProDOS FX Paked"
ECHO " 4) Build ProDOS 2.03tc"
ECHO " 5) Build ProDOS FX"
ECHO " 6) Build ProDOS FX Paked"
READ -P "Enter 1-6: " PDOS
IF [ -Z $PDOS ]
ECHO "You did not enter any response."
ECHO
ECHO "Exiting"
EXIT
FI
SWITCH $PDOS
CASE 1
SET PDOSFILE = "/MAKE/ASSETS/PDOS203TC/PRODOS"
BREAK
CASE 2
SET PDOSFILE = "/MAKE/ASSETS/PDOS203FX/PRODOS.FX"
BREAK
CASE 3
SET PDOSFILE = "/MAKE/ASSETS/PDOS203FX/PRODOS.FX.PAKED"
BREAK
CASE 4
SET PDOSFILE = "${SRC}/PRODOS"
BREAK
CASE 5
SET PDOSFILE = "${SRC}/PRODOS.FX"
BREAK
CASE 6
SET PDOSFILE = "${SRC}/PRODOS.FX.PAKED"
BREAK
DEFAULT
ECHO "You did not enter a valid response."
ECHO "You must enter only one of the characters R C or S!"
ECHO
ECHO "Exiting"
EXIT
END
ECHO "Formatting Destination..."
FORMAT -B 1600 S7D2 FULLBOOT
FORMAT -B 1600 S7D2 fullboot
ECHO "Making Directory Structure..."
MD /FULLBOOT/BIN
MD /FULLBOOT/DRV
MD /FULLBOOT/ETC
MD /FULLBOOT/LIB
MD /FULLBOOT/ROOT
MD /FULLBOOT/SBIN
MD /FULLBOOT/SYS
MD /FULLBOOT/SYS/KM
MD /FULLBOOT/TMP
MD /FULLBOOT/VAR
MD /FULLBOOT/VAR/LOG
md /FULLBOOT/bin
md /FULLBOOT/drv
md /FULLBOOT/etc
md /FULLBOOT/lib
md /FULLBOOT/root
md /FULLBOOT/sbin
md /FULLBOOT/sys
md /FULLBOOT/SYS/km
md /FULLBOOT/tmp
md /FULLBOOT/var
md /FULLBOOT/var/log
PAUSE
ECHO "Copying Files..."
FOR FILE IN (FULLFILES)
CP -Q ${SRC}/${FILE} /FULLBOOT/${FILE}
CP -Q ${SRC}/${FILE} /fullboot/${FILE}
NEXT
CP -Q -Y /MAKE/ASSETS/PDOS203TC/PRODOS /FULLBOOT
CP -Q -Y INITBOOT /FULLBOOT/ETC/INIT
ECHO "Welcome to A2osX!" > /FULLBOOT/ETC/ISSUE
ECHO >> /FULLBOOT/ETC/ISSUE
ECHO $IM >> /FULLBOOT/ETC/ISSUE
CP -Q TCPIP.CONF /FULLBOOT/ETC/TCPIP.CONF
CP -Q PROFILE /FULLBOOT/ROOT/PROFILE
CP -Q -Y $PDOSFILE /fullboot/ProDOS
CP -Q -Y INITBOOT /fullboot/etc/init
ECHO "Welcome to A2osX!" > /fullboot/etc/issue
ECHO >> /fullboot/etc/issue
ECHO $IM >> /fullboot/etc/issue
CP -Q TCPIP.CONF /fullboot/etc/tcpip.conf
CP -Q PROFILE /fullboot/root/profile
ECHO "FULLBOOT Disk Created!"
MAN
TEXT /MAKE/USR/SHARE/MAKE/MAKEFULL