bash shell under MSWin

A collection of noteworthy items selected by our moderators from discussions about making and using models with NEURON.

Moderators: wwlytton, tom_morse

Post Reply
ted
Site Admin
Posts: 5509
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

bash shell under MSWin

Post by ted » Mon Nov 09, 2015 3:51 pm

This post is relevant if you used a MinGW-based NEURON installer, which includes a bash terminal. If you used a cygwin-based installer, you'll want to read about the rxvt shell window that comes with that package.

The bash shell window (launched by clicking on the bash icon in the NEURON Program Group) gives MSWin users access to a few very nice utilities. It's nowhere near as complete as you'd get by running UNIX/Linux/OS X, but even a few nice features and utilities is better than what Microsoft gives you.

Open a bash window and you'll see its prompt, which will look something like this:
bash.exe"-3.1$

At the command prompt
pwd
then press the Enter key, and you'll get this response:
/c

ls
will show all the stuff at the root of c:

Tab completion works, which saves a lot of typing when doing cd or typing a long file name.

ls nrn/mingw/bin
shows that you have a some interesting tools, including these relatively generic UNIX/Linux-like utilities
cat
echo
find
grep
sed
sort
unzip

ls nrn/bin
shows that you also have.txt
mknrndll
mkthreadsafe
modlunit
mpiexec

grep load_file *hoc
shows all the hoc files in the current directory that contain load_file

modlunit filename.hoc
checks filename.hoc for consistent units.

mknrndll
compiles the mod files in the current directory and generates a dll.

mknrndll 2>errmsg.txt
captures stderr to errmsg.txt (after all, this is a bash shell), so you can review it later. Very helpful when you are trying to see if any of your mod files are not threadsafe.

nrniv -
starts NEURON sans its GUI

However, the command
em
at the oc> prompt doesn't put you in MicroEMACS--instead, there is an error message

Code: Select all

oc>em
Unknown terminal type cygwin!
emacs--status = 1
c:\nrn\bin\nrniv.exe: Error in emacs return
 near line 3
 em
   ^
and you'll have to kill NEURON manually.

For an example of how to use the shell to execute batch runs, see
Automating tasks: -c "statement" and batch runs
http://www.neuron.yale.edu/phpBB/viewto ... =28&t=1747

Post Reply