The ubiquitous bash
Bash is a fundamental skill for the modern web designer and developer. Just as you should know CSS before you learn SCSS or LESS, you should know bash before you learn Grunt, Gulp or Rake.
Despite its ubiquity, most people are left to learn bash by trial and error. Take control! This workshop will teach you practical tips and tricks to demystify the command line and make bash one of your most valuable skills.
Know enough to get out of trouble
If you've used OSX Terminal, git, CI/CD tools or a Raspberry Pi then you've probably used bash already. Chances are you've also found it a bit weird or even frustrating.
Most people know just enough about the command line to get into trouble. Happily, many of the problems people face with common tools are easily demystified by learning a little more about the environment they run in.
OSX Terminal is bash; most Linux distributions ship with bash shells; Cygwin brings bash to all versions of Windows; and Windows 10 is adding the much-anticipated Windows Subsystem for Linux (WSL).
Windows vs Mac vs Linux? Who cares! You can work in bash across all of them.
What you can do with bash
- Bash is the default environment for NodeJS, Ruby/RoR, Python, Java and many other languages. That means tools like NPM, Grunt, Gulp, Ruby gems, Rake and Maven expect to be running in bash.
- Git in particular is a bash-oriented tool - the command line is git's standard interface. Most git documentation presents information in CLI format, eg.
$ git push origin master. Translating these to GUI equivalents can be more confusing than the CLI version.
- Many CI or CD systems are fundamentally giving you an automated bash prompt. Understanding this goes a long way to understanding builds.
- On-server automation tools like cron are ideally paired with bash shell scripts.
These are just a few examples - once you know bash, you'll realise it's everywhere.