Tutorial by Examples: s

There are two common ways to list all processes on a system. Both list all processes running by all users, though they differ in the format they output (the reason for the differences are historical). ps -ef # lists all processes ps aux # lists all processes in alternative format (BSD) Thi...
VariableDetails$* / $@Function/script positional parameters (arguments). Expand as follows:$* and $@ are the same as $1 $2 ... (note that it generally makes no sense to leave those unquoted)"$*" is the same as "$1 $2 ..." 1 "$@" is the same as "$1" "$2&qu...
Process ID (pid) of the current instance of Bash. This is not the same as the $$ variable, but it often gives the same result. This is new in Bash 4 and doesn't work in Bash 3. ~> $ echo "\$\$ pid = $$ BASHPID = $BASHPID" $$ pid = 9265 BASHPID = 9265
An environment variable pointing to the Bash startup file which is read when a script is invoked.
An array containing the full version information split into elements, much more convenient than $BASH_VERSION if you're just looking for the major version: ~> $ for ((i=0; i<=5; i++)); do echo "BASH_VERSINFO[$i] = ${BASH_VERSINFO[$i]}"; done BASH_VERSINFO[0] = 3 BASH_VERSINFO[1] =...
Shows the version of bash that is running, this allows you to decide whether you can use any advanced features: ~> $ echo $BASH_VERSION 4.1.2(1)-release
The hostname assigned to the system during startup. ~> $ echo $HOSTNAME mybox.mydomain.com
This variable identifies the hardware, it can be useful in determining which binaries to execute: ~> $ echo $HOSTTYPE x86_64
An array containing the numbers of groups the user is in: #!/usr/bin/env bash echo You are assigned to the following groups: for group in ${GROUPS[@]}; do IFS=: read -r name dummy number members < <(getent group $group ) printf "name: %-10s number: %-15s members: %s\n" &qu...
Contains the Internal Field Separator string that bash uses to split strings when looping etc. The default is the white space characters: \n (newline), \t (tab) and space. Changing this to something else allows you to split strings using different characters: IFS="," INPUTSTR="a,b,c...
Returns information about the type of OS running on the machine, eg. ~> $ echo $OSTYPE linux-gnu
The number of seconds a script has been running. This can get quite large if shown in the shell: ~> $ echo $SECONDS 98834
A readonly list of the options bash is supplied on startup to control its behaviour: ~> $ echo $SHELLOPTS braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
When the bash command is executed a new shell is opened. The $SHLVL environment variable holds the number of shell levels the current shell is running on top of. In a new terminal window, executing the following command will produce different results based on the Linux distribution in use. echo $S...
LINQ provides a built-in function for checking the equality of two IEnumerables, and that function can be used on arrays. The SequenceEqual function will return true if the arrays have the same length and the values in corresponding indices are equal, and false otherwise. int[] arr1 = { 3, 5, 7 };...
Consider this example function to check if a host is up: is_alive() { ping -c1 "$1" &> /dev/null } This function sends a single ping to the host specified by the first function parameter. The output and error output of ping are both redirected to /dev/null, so the functi...
Decorator is one of structural design patterns. It is used to add, remove or change behaviour of object. This document will teach you how to use Decorator DP properly. Let me explain the idea of it to you on a simple example. Imagine you're now in Starbobs, famous coffee company. You can place an o...
Comments in Sass vs. Scss are largely similar, except when multi-lines are concerned. SASS multi-lines are indentation-sensitive, while SCSS relies on comment terminators. Single-Line Comment style.scss // Just this line will be commented! h1 { color: red; } style.sass // Exactly the same ...
sudo -s <<EOF a='var' echo 'Running serveral commands with sudo' mktemp -d echo "\$a" EOF $a needs to be escaped to prevent it to be expanded by the current shell Or sudo -s <<'EOF' a='var' echo 'Running serveral commands with sudo' mktemp -d e...
Detailed instructions on getting google-bigquery set up or installed.

Page 511 of 1057