Using the Shell
A non-quoted backslash \ is the Bash escape character. It preserves the literal value of the next character that follows, with the exception of newline. If a \newline pair appears, and the backslash itself is not quoted, the \newline is treated as a line continuation (that is, it is removed from the input stream and effectively ignored). So moving in dirs in the Shell its slightly different so if you want to walk thru dirs you shoud use / instead of \ as in *nix.
Sample
cd c:\ # This is wrong and it will return c: cd c:/ # This is right and it will return c:\ cd c:\\ # This is also right and it will return c:\
Development Environment
The Shell as MinGW-w64 and Harbour already configured to build for Win32 and Win64.
Standard make commands
- make (standard *nix make)
- hbmk32 (HarbourMG make for x86 GUI)
- hbmk64 (HarbourMG make for x64 GUI)
- hbmk32c (HarbourMG make for x86 CONSOLE)
- hbmk64c (HarbourMG make for x64 CONSOLE)
- tcc32 (TCC make for x86)
- tcc64 (TCC make for x64)
- makefasm (FASM for x86 and x64)
- makensis (Generates installer from NSI)
BashRC and aliases
The Shell uses a simple ini file called PTShell.ini in the PTSource directory as its RC startup it fully supports aliases and it reads by default as fallows :
alias vim='vi' alias edit='nano' alias joe='nano' alias h='history' alias mc='gmc' alias nc='gmc' alias more='less' alias ls='ls --color' alias dir='ls -la --color' alias l='ls -lh' alias k='tree -h' alias back='cd $OLDPWD' alias texclean='rm -f *.toc *.aux *.log *.cp *.fn *.tp *.vr *.pg *.ky' alias curl='curl -k' alias npm='npm -g' alias pip='python -m pip --disable-pip-version-check' alias cls='printf "\033c"' EDITOR='nano' FCEDIT='nano' BASH='bash' SHELL='bash' CC='gcc' CXX='g++.exe' CPP='gcc.exe -E' M4='m4.exe' PERL='perl.exe' TERM=vt100 HOME=C:\\PTSOURCE\\Platform\\PTEditor\\home HISTFILE=C:\\PTSOURCE\\Platform\\PTEditor\\home\\bash_history HISTSIZE=200 HISTFILESIZE=200 PATH0=C:\\PTSOURCE\\Platform\\PTEditor PATH1=C:\\PTSOURCE\\Platform\\PTEditor\\bin #x86 MinGW and Harbour PATH2=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\mingw32\\bin PATH3=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\harbour32\\bin #x64 MinGW and Harbour #PATH2=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\mingw64\\bin #PATH3=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\harbour64\\bin PATH4=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fasm32_64 PATH5=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\nsis32 #x86 FB PATH6=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fbc32 #x64 FB #PATH6=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fbc64 PATH7=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fpc32 PATH8=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\python PATH9=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\phphum PATH10=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\nodejs PATH11=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\nodejs\\node_modules\\npm PATH12=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\git-core PATH=$PATH0:$PATH1:$PATH2:$PATH3:$PATH4:$PATH5:$PATH6:$PATH7:$PATH8:$PATH9:$PATH10:$PATH11:$PATH12 MANPATH=C:\\PTSOURCE\\Platform\\PTEditor\\man SAMPLES=C:\\PTSOURCE\\Platform\\PTEditor\\samples FASMINC=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fasm32_64\\INCLUDE export HOME PATH HISTFILE HISTSIZE HISTFILESIZE MANPATH EDITOR SHELL TERM BASH SAMPLES CC CXX CPP M4 PERL FASMINC export PYTHONWARNINGS=ignore:::pip._internal.cli.base_command pip list LOGIN_SHELL=true cd $HOME
It can be edited to fit your needs.
Simple compilation commands examples from the Shell
- gcc -c *.c && gcc *.o -o [binary file name]
- make [clean|install]
- ptsmake32 [*.prg|*.hbc]
- ptsmake64 [*.prg|*.hbc]