# Obsolete Syntax ## Shebang Use `#!/usr/bin/env bash` instead of `#!/bin/bash`. - The former searches the user's `PATH` to find the `bash` binary. - The latter assumes it is always installed to `/bin/` which can cause issues. ```shell # Right: #!/usr/bin/env bash # Wrong: #!/bin/bash ``` ## Command Substitution Use `$()` instead of `` ` ` ``. ```shell # Right. var="$(command)" # Wrong. var=`command` # $() can easily be nested whereas `` cannot. var="$(command "$(command)")" ``` ## Function Declaration Don't use the `function` keyword, it reduces compatibility with older versions of `bash`. ```shell # Right. do_something() { # ... } # Wrong. function do_something() { # ... } ```