Addons Calculator Cmdline Designer Formats Howtos Regexp Start Tutorial Git Tutorial Python Tutorial Tcl Videos
UNIX Programming Environment
Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy cant be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.
PTSource Shell
PTSource Shell is a free UNIX programming environment compatible environment for Windows x86 and x64 included in the PTSource Developer Platform. Its goal is to allow programs of UNIX like systems to be recompiled and run natively on Windows with minimal source code modifications by providing them with the same underlying API they would expect in those systems.
PTSource Shell provides native integration of Windows based applications, data, and other system resources with applications, software tools, and data of the UNIX like environment. Thus it is possible to launch Windows applications from the PTSource Shell environment, as well as to use PTSource Shell tools and applications within the Windows operating context.
Screenshots
Features
- Smooth window resizing
- Several panels in one window
- Tabs for editors, viewers, panels and consoles
- Normal, maximized and full screen window graphic modes
- Window fonts (family, height, width, bold, italic)
- Drag and drop (explorer style)
- UNIX tools
- Development Tools
- ShellCheck
- NodeJS
- Python
- Perl
- Tcl/Tk
- GIT
- Vim
- Nano
- Dialog
- Lynx
- … and much more
Using PTSource 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:\
BashRC and aliases
PTSource 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 vi='vim -v'
alias vimdiff='vim -d'
alias edit='nano'
alias h='history'
alias nc='mc'
alias more='less'
alias ls='ls --color'
alias dir='ls -la --color'
alias ll='ls -la'
alias l='ls -lh'
alias now='date +"%T"'
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 frink='frink -w 200 -r -j'
alias clear='cls'
alias cmd='ptcmd'
alias lynx='ptlynx'
BASH='bash'
SHELL='bash'
CC='gcc.exe'
CXX='g++.exe'
CPP='gcc.exe -E'
M4='m4.exe'
PERL='perl.exe'
export PERL5LIB=C:\\PTSOURCE\\Platform\\PTEditor\\lib
export GOROOT=C:\\PTSOURCE\\Platform\\PTEditor
TERM=cygwin
HISTSIZE=200
HISTFILESIZE=200
HISTFILE=C:\\PTSOURCE\\Platform\\PTEditor\\home\\bash_history
HOME=C:\\PTSOURCE\\Platform\\PTEditor\\home
export SYSCONFDIR=C:\\PTSOURCE\\Platform\\PTEditor\\etc
export TMP=C:\\PTSOURCE\\Platform\\PTEditor\\tmp
export TEMP=C:\\PTSOURCE\\Platform\\PTEditor\\tmp
PKG_CONFIG='pkg-config.exe'
export PKG_CONFIG_PATH=C:\\PTSOURCE\\Platform\\PTEditor\\share\\pkgconfig
export GROFF_FONT_PATH=C:\\PTSOURCE\\Platform\\PTEditor\\share\\groff\\1.21\\font
export GROFF_TMAC_PATH=C:\\PTSOURCE\\Platform\\PTEditor\\share\\groff\\1.21\\tmac
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
#x86 and x64 Fasm
PATH4=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fasm32_64
#x86 NSIS
PATH5=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\nsis32
#x86 FreeBasic
PATH6=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fbc32
#x64 FreeBasic
#PATH6=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fbc64
#x86 FreePascal
PATH7=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fpc32
#x64 FreePascal
#PATH7=C:\\PTSOURCE\\Platform\\PTEditor\\builder\\comp\\fpc64
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
PATH13=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\mc
PATH14=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\vim
PYSCRIPTS=C:\\PTSOURCE\\Platform\\PTEditor\\libexec\\python\\Scripts
PATH=$PATH0:$PATH1:$PATH2:$PATH3:$PATH4:$PATH5:$PATH6:$PATH7:$PATH8:$PATH9:$PATH10:$PATH11:$PATH12:$PATH13:$PATH14:$PYSCRIPTS
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 SHELL TERM BASH SAMPLES CC CXX CPP M4 PERL FASMINC
export PYTHONWARNINGS=ignore:::pip._internal.cli.base_command pip list
export TERMINFO=C:\\PTSOURCE\\Platform\\PTEditor\\share\\terminfo
LOGIN_SHELL=true
cd $HOME
It can be edited to fit your needs.
Development Environment
PTSource Shell as MinGW-w64 and Harbour already configured to build for Win32 and Win64.
Standard make commands
- make (standard *nix make)
- mgmake32 (MinGW-w64 make for x86)
- mgmake64 (MinGW-w64 make for x64)
- makeharbour32 (HarbourMG make for x86 GUI)
- makeharbour64 (HarbourMG make for x64 GUI)
- makeharbour32c (HarbourMG make for x86 CONSOLE)
- makeharbour64c (HarbourMG make for x64 CONSOLE)
- makefasm (FASM for x86 and x64)
- makensis (Generates installer from NSI)
Download
Note : This software does not use a digitally signed installer, so you might get a warning. You should dismiss it and continue.
- Download the Installer.
- When Windows says the installer is not trusted, click “more info” and then “run anyway”.
- Follow the instructions in the installer.
- You can now launch the software from your desktop.
Note : Although this software is completely free a small download fee is applied to help us support hosting costs and help with development.