themactep.com

A home of miscellaneous projects by Paul Philippov.

Notes

Bash

Parameters and variables

  • $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.

File descriptors

  • 0 - stdin
  • 1 - stdout
  • 2 - stderr
  • 3, 4… - custom
  • > redirects output to a file
  • >& redirects output to another file descriptor

Interrupt signals

  1. SIGHUP
  2. SIGINT
  3. SIGQUIT
  4. SIGILL
  5. SIGTRAP
  6. SIGABRT
  7. SIGBUS
  8. SIGFPE
  9. SIGKILL
  10. SIGUSR1
  11. SIGSEGV
  12. SIGUSR2
  13. SIGPIPE
  14. SIGALRM
  15. SIGTERM
  16. SIGSTKFLT
  17. SIGCHLD
  18. SIGCONT
  19. SIGSTOP
  20. SIGTSTP
  21. SIGTTIN
  22. SIGTTOU
  23. SIGURG
  24. SIGXCPU
  25. SIGXFSZ
  26. SIGVTALRM
  27. SIGPROF
  28. SIGWINCH
  29. SIGIO
  30. SIGPWR
  31. SIGSYS
  32. SIGWAITING
  33. SIGLWP
  34. SIGRTMIN
  35. SIGRTMIN+1
  36. SIGRTMIN+2
  37. SIGRTMIN+3
  38. SIGRTMIN+4
  39. SIGRTMIN+5
  40. SIGRTMIN+6
  41. SIGRTMIN+7
  42. SIGRTMIN+8
  43. SIGRTMIN+9
  44. SIGRTMIN+10
  45. SIGRTMIN+11
  46. SIGRTMIN+12
  47. SIGRTMIN+13
  48. SIGRTMIN+14
  49. SIGRTMIN+15
  50. SIGRTMAX-14
  51. SIGRTMAX-13
  52. SIGRTMAX-12
  53. SIGRTMAX-11
  54. SIGRTMAX-10
  55. SIGRTMAX-9
  56. SIGRTMAX-8
  57. SIGRTMAX-7
  58. SIGRTMAX-6
  59. SIGRTMAX-5
  60. SIGRTMAX-4
  61. SIGRTMAX-3
  62. SIGRTMAX-2
  63. SIGRTMAX-1
  64. SIGRTMAX

Manual

https://www.gnu.org/software/bash/manual/html_node/index.html