Skip to content

Instantly share code, notes, and snippets.

Last active September 29, 2023 10:43
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
bash tips and tricks

Execute but Keep the Current Working Directory

following code changes cwd to ./step1

cd step_1

adding braces gets the code executed w/o affecting the cwd

(cd step_1 && ./ && ./

Special stuff

The bash Variable Index, don't expect info, just index.

Informal and meaningful illustration is following

  • $1, $2, $3, ... are the positional parameters.
  • "$@" is an array-like construct of all positional parameters, {$1, $2, $3 ...}.
  • "$*" is the IFS expansion of all positional parameters, $1 $2 $3 ....
  • $# is the number of positional parameters.
  • $- current options set for the shell.
  • $$ pid of the current shell (not subshell).
  • $_ most recent parameter (or the abs path of the command to start the current shell immediately after startup).
  • $IFS is the (input) field separator.
  • $? is the most recent foreground pipeline exit status.
  • $! is the PID of the most recent background command.
  • $0 is the name of the shell or shell script.

Formal and more lengthy illustration is following

Special parameters

The official list.

Special Variables

The official list.

Coloring terminals

Follow this


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment