Potential bug fixes on shell scripts
- Use $(..) instead of legacy `..`.
- Double quote to prevent globbing and word splitting.
- Redirecting `echo` output to `stderr`.
- Checking if `flake8`, `cpplint` and `isort` Python modules are installed.
- Using 'cd ... || exit' or 'cd ... || return' in case cd fails.
- Double quote to prevent globbing and word splitting.
- The use of > is for string comparisons. Using `-gt` instead.
- [Useless Use Of Cat](https://en.wikipedia.org/wiki/Cat_(Unix)#Useless_use_of_cat)
- Using echo -e "\n", instead of echo ""
- Using `find` instead of `ls` to better handle non-alphanumeric filenames

Signed-off-by: Mpho Mphego <mpho112@gmail.com>

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=h1) Report
> Merging [#24424](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/159772d0c9d49977d4b7f871c62c26e06890143a?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/24424/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=tree)

```diff
@@           Coverage Diff           @@
##           master   #24424   +/-   ##
=======================================
  Coverage    92.3%    92.3%           
=======================================
  Files         163      163           
  Lines       51950    51950           
=======================================
  Hits        47953    47953           
  Misses       3997     3997
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.71% <ø> (ø)` | :arrow_up: |
| #single | `43% <ø> (ø)` | :arrow_up: |


------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=footer). Last update [159772d...beb3181](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=h1) Report
> Merging [#24424](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/159772d0c9d49977d4b7f871c62c26e06890143a?src=pr&el=desc) will **increase** coverage by `0.08%`.
> The diff coverage is `97.08%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/24424/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #24424      +/-   ##
==========================================
+ Coverage    92.3%   92.38%   +0.08%     
==========================================
  Files         163      166       +3     
  Lines       51950    52321     +371     
==========================================
+ Hits        47953    48338     +385     
+ Misses       3997     3983      -14
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.8% <97.08%> (+0.09%)` | :arrow_up: |
| #single | `43.06% <46.2%> (+0.05%)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/reshape/pivot.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvcmVzaGFwZS9waXZvdC5weQ==) | `96.55% <ø> (ø)` | :arrow_up: |
| [pandas/core/groupby/groupby.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ3JvdXBieS9ncm91cGJ5LnB5) | `96.8% <ø> (+0.15%)` | :arrow_up: |
| [pandas/core/reshape/reshape.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvcmVzaGFwZS9yZXNoYXBlLnB5) | `99.35% <ø> (-0.21%)` | :arrow_down: |
| [pandas/core/strings.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc3RyaW5ncy5weQ==) | `98.58% <ø> (ø)` | :arrow_up: |
| [pandas/io/parsers.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhcnNlcnMucHk=) | `95.4% <ø> (+0.02%)` | :arrow_up: |
| [pandas/core/indexes/datetimes.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9kYXRldGltZXMucHk=) | `96.27% <ø> (-0.06%)` | :arrow_down: |
| [pandas/core/indexes/multi.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9tdWx0aS5weQ==) | `95.58% <ø> (ø)` | :arrow_up: |
| [pandas/plotting/\_core.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb3JlLnB5) | `83.76% <ø> (ø)` | :arrow_up: |
| [pandas/core/sparse/series.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc3BhcnNlL3Nlcmllcy5weQ==) | `95.53% <ø> (ø)` | :arrow_up: |
| [pandas/core/groupby/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ3JvdXBieS9iYXNlLnB5) | `91.83% <ø> (ø)` | :arrow_up: |
| ... and [120 more](https://codecov.io/gh/pandas-dev/pandas/pull/24424/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=footer). Last update [159772d...4be1582](https://codecov.io/gh/pandas-dev/pandas/pull/24424?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 @mmphego can you split this PR as requested, and fix the conflicts please? > @mmphego can you split this PR as requested, and fix the conflicts please?

I will be on it, asap - have been on away from my computer. Thanks. Closing PR and will submit individual PR's