Good day dear ricer, hello again.


For a linux lover, I always late, I never use Z Shell, but always BASH or FISH. And now I decide to use ZSH, just to find out what I never learnt in BASH. Yes, these are tools that you can learn them all over a night. It is all intended for end user.


One of my issue with oh-my-bash is that I cannot find preview for each theme. But do not worry, there is a workaround. Even better, we can see each theme live, in action for each theme.

If you ever wonder how to get the looks of each oh-my-bash theme easily, I made a script for you to play with.

Here is the step by step procedure.

  • First, Install oh-my-bash

  • Second, Comment the # OSH_THEME=something in .bashrc

  • Third, Try this oneliner code in shell, and then type exit for newly created bash session.

$ export OSH_THEME='font'; bash
  • Fourth, Implement that oneliner code as a script as below.

oh-my-bash: Iterate Theme

  • Fifth, Run the script. And manually type exit for each bash sessions. You can see the output in figure below.

oh-my-bash: Iterate Theme

Now you are done.

oh-my-bash Iteration Source

#/bin/env bash
themes=('90210' 'axin' 'bakke' 'binaryanomaly' 'bobby')

# show theme
for theme in "${themes[@]}"
    echo "[ theme = $theme ]"
    export OSH_THEME=$theme; bash

Of course you can grab all the themes at once. I made above code simpler, so the reader won’t get focus lost.

themes=('90210' 'axin' 'bakke' 'binaryanomaly' 'bobby' 'bobby-python' 'brainy' 'brunton' 'candy' 'clean' 'cooperkid' 'cupcake' 'demula' 'dos' 'doubletime' 'doubletime_multiline' 'doubletime_multiline_pyonly' 'dulcie' 'duru' 'emperor' 'envy' 'font' 'gallifrey' 'hawaii50' 'iterate' 'kitsune' 'luan' 'mairan' 'mbriggs' 'minimal' 'modern' 'modern-t' 'morris' 'n0qorg' 'nwinkler' 'nwinkler_random_colors' 'pete' 'powerline' 'powerline-multiline' 'powerline-naked' 'powerline-plain' 'primer' 'pro' 'pure' 'purity' 'rainbowbrite' 'rana' 'rjorgenson' 'roderik' 'sexy' 'simple' 'sirup' 'slick' 'standard' 'tonka' 'tonotdo' 'tylenol' 'wanelo' 'zitron' 'zork')

You can also modify the theme, such as to add character from powerline extra font.

oh-my-bash: Powerline Extra

oh-my-zsh Iteration Source

Respectively, it is also applicable with oh-my-zsh.

#/bin/env zsh
themes=('adben' 'af-magic' 'afowler' 'agnoster' 'alanpeabody')

# show theme
for theme in "${themes[@]}"
    echo "[ theme = $theme ]"
    export ZSH_THEME=$theme; zsh

Of course you can grab all the themes at once.

themes=('adben' 'af-magic' 'afowler' 'agnoster' 'alanpeabody' 'amuse' 'apple' 'arrow' 'aussiegeek' 'avit' 'awesomepanda' 'bira' 'blinks' 'bureau' 'candy' 'candy-kingdom' 'clean' 'cloud' 'crcandy' 'crunch' 'cypher' 'dallas' 'darkblood' 'daveverwer' 'dieter' 'dogenpunk' 'dpoggi' 'dst' 'dstufft' 'duellj' 'eastwood' 'edvardm' 'emotty' 'essembeh' 'evan' 'example' 'fino' 'fino-time' 'fishy' 'flazz' 'fletcherm' 'fox' 'frisk' 'frontcube' 'funky' 'fwalch' 'gallifrey' 'gallois' 'garyblessington' 'gentoo' 'geoffgarside' 'gianu' 'gnzh' 'gozilla' 'half-life' 'humza' 'imajes' 'intheloop' 'itchy' 'jaischeema' 'jbergantine' 'jispwoso' 'jnrowe' 'jonathan' 'josh' 'jreese' 'jtriley' 'juanghurtado' 'junkfood' 'kafeitu' 'kardan' 'kennethreitz' 'kiwi' 'kolo' 'kphoen' 'lambda' 'linuxonly' 'lukerandall' 'macovsky' 'macovsky-ruby' 'maran' 'mgutz' 'mh' 'michelebologna' 'mikeh' 'miloshadzic' 'minimal' 'mira' 'mortalscumbag' 'mrtazz' 'murilasso' 'muse' 'nanotech' 'nebirhos' 'nicoulaj' 'norm' 'obraun' 'peepcode' 'philips' 'pmcgee' 'pure' 'pygmalion' 're5et' 'refined' 'rgm' 'risto' 'rixius' 'rkj' 'rkj-repos' 'robbyrussell' 'sammy' 'simonoff' 'simple' 'skaro' 'smt' 'Soliah' 'sonicradish' 'sorin' 'sporty_256' 'steeef' 'strug' 'sunaku' 'sunrise' 'superjarin' 'suvash' 'takashiyoshida' 'terminalparty' 'theunraveler' 'tjkirch' 'tjkirch_mod' 'tonotdo' 'trapd00r' 'wedisagree' 'wezm' 'wezm+' 'wuffers' 'xiong-chiamiov' 'xiong-chiamiov-plus' 'ys' 'zhann')

oh-my-zsh: Iterate Theme

Later I found out that oh-my-zsh has this cool official script that show all themes.

% ~/.oh-my-zsh/tools/

Good luck my friend. Have some fun with your shell.

Thank you for reading.