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
1 2 3 4 5 6 |
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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\lib export GOROOT=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor TERM=cygwin HISTSIZE=200 HISTFILESIZE=200 HISTFILE=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\home\\bash_history HOME=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\home export SYSCONFDIR=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\etc export TMP=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\tmp export TEMP=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\tmp PKG_CONFIG='pkg-config.exe' export PKG_CONFIG_PATH=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\share\\pkgconfig export GROFF_FONT_PATH=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\share\\groff\\1.21\\font export GROFF_TMAC_PATH=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\share\\groff\\1.21\\tmac PATH0=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor PATH1=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\bin #x86 MinGW and Harbour PATH2=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\mingw32\\bin PATH3=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\harbour32\\bin #x64 MinGW and Harbour #PATH2=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\mingw64\\bin #PATH3=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\harbour64\\bin #x86 and x64 Fasm PATH4=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\fasm32_64 #x86 NSIS PATH5=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\nsis32 #x86 FreeBasic PATH6=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\fbc32 #x64 FreeBasic #PATH6=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\fbc64 #x86 FreePascal PATH7=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\fpc32 #x64 FreePascal #PATH7=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\builder\\comp\\fpc64 PATH8=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\python PATH9=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\phphum PATH10=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\nodejs PATH11=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\nodejs\\node_modules\\npm PATH12=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\git-core PATH13=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\mc PATH14=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\vim PYSCRIPTS=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\libexec\\python\\Scripts PATH=$PATH0:$PATH1:$PATH2:$PATH3:$PATH4:$PATH5:$PATH6:$PATH7:$PATH8:$PATH9:$PATH10:$PATH11:$PATH12:$PATH13:$PATH14:$PYSCRIPTS MANPATH=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\man SAMPLES=C:\\PT<span class="mark">SOURCE</span>\\Platform\\PTEditor\\samples FASMINC=C:\\PT<span class="mark">SOURCE</span>\\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:\\PT<span class="mark">SOURCE</span>\\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.