For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Extending your bash shell with aliases, functions and extra commands
Want a command to do some composite job, but it doesn't exist? You can add new commands into your bash script
... see example [here]
from last week's course.
... here are the aliases that I'm using to provide my own extra / modified commands on our web server:
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
Shell programming is so much about bolting together other programs and utilities - and they can include other shell programs as well as code in other languages. Paramaters can be passed in from the command line, data from STDIN, and from the environment - remember to use export
if you want a shell variable / environmet variable to be shared with something you're running from your script. (written 2015-11-28)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesA166 - Web Application Deployment - Linux Utilities 
Almost like old times - (2004-09-26) 
Comparators in Linux and Unix - (2004-10-03) 
Korn shell course - (2007-09-22) 
awk - a powerful data extraction and manipulation tool - (2007-09-25) 
Conversion of c/r line ends to l/f line ends - (2008-06-28) 
Using the internet to remotely check for power failure at home (PHP) - (2009-04-29) 
Helping new arrivals find out about source code examples - (2009-08-03) 
Finding text and what surrounds it - contextual grep - (2009-10-30) 
Finding what has changed - Linux / Unix - (2010-02-17) 
Awk v Perl - (2011-09-18) 
Shell, Awk, Perl of Python? - (2012-06-14) 
Shell - Grep - Sed - Awk - Perl - Python - which to use when? - (2012-10-22) 
One line scripts - Awk, Perl and Ruby - (2016-05-20)A167 - Web Application Deployment - Shell Programming (bash) 
Shell Script for CGI on the web - (2004-09-26) 
Cottage industry or production line data handling methods - (2006-06-07) 
No news is good news with Unix and Linux - (2006-08-10) 
Work and play at Well House Manor - Football and Shell Shortcuts - (2007-08-02) 
Perl and Shell coding standards / costs of an IT project - (2007-09-11) 
Lexical v Arithemetic testing, Bash and Perl - (2007-12-11) 
Selecting file names in a shell - one word or another - (2008-02-02) 
Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23) 
The Kernel, Shells and Daemons. Greek Gods in computing - (2012-07-01) 
Commenting out an echo killed my bash backup script - (2015-01-19) 
Starting MySQL. ERROR! The server quit without updating PID file - how we fixed it. - (2015-05-06) 
Bash ... some new scripts to - handling user input - (2015-11-27) 
shell - bash. Writing conditional tests and statements - the options available - (2015-11-28)
Some other Articles
Progress on moving from Python 2 to Python 3 - training for both versionsPrinciples or a GUI and their practical application using wxPthonWhat teach you in a week stays with you for a decadeExtending your bash shell with aliases, functions and extra commandsWhat is make? What is gcc?Back in the saddle again - excellent open source course from Well House ConsultantsA near-empty plate of pastries - sign of a breakfast enjoyedThin application, thick objects - keep you main code simple. Example in Ruby
4759 posts, page by page
Link to page ... 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, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).