Have a look at the Oneliners Page for more examples to include in your aliases etc.
Aliases can be frowned upon, but I find these useful
If the variable is same, then
: "${VARIABLE:=DEFAULT_VALUE}"
assigns DEFAULT_VALUE to VARIABLE if not defined.
Also see Section 3.5.3, Shell Parameter Expansion, in the Bash manual.
“timeout 2s bash -c ’ /dev/null &&
echo true || echo false”
Can be used like below in bash script (uses exitcodes from either
timeout or bash)
if [[ $(timeout 2s bash -c '</dev/tcp/google.dk/443' 2> /dev/null && echo true || echo false) == true ]]
then
echo true
# do something
fi
or
IS_ENABLED=$(timeout 2s bash -c '</dev/tcp/google.dk/443' 2> /dev/null && echo true || echo false)
If “/etc/testfile.conf” exists then $VAR til contain that content or NA if not. Can be used in a bash script like eg. if one need to transfer value from previous running script saved in a file.
VAR=$(cat /etc/testfile.conf 2> /dev/null || echo NA)
Will read a file with the same name as it’s self ($0), but with .conf
#!/bin/bash
config_file="${0%.sh}.conf"
test -s ${0%.sh}.conf
if [ $? -ge 1 ]
then
echo "$vars_file is empty!, edit ${0%.sh}.conf"
touch ${0%.sh}.conf
exit 0
fi
while read config_file
do
declare "${config_file%=*}=${config_file##*=}"
done < <(cat ${0%.sh}.conf)
## continue your script from here ##
Ex of .conf file.
testing1=data1
testing2=data2
will be read as $testing1 and $testing2 and can be used as such in the main bash script.
Ctrl + a Go to the beginning of the line (Home)
Ctrl + e Go to the End of the line (End)
Ctrl + p Previous command (Up arrow)
Ctrl + n Next command (Down arrow)
Alt + b Back (left) one word
Alt + f Forward (right) one word
Ctrl + f Forward one character
Ctrl + b Backward one character
Ctrl + xx Toggle between the start of line and current cursor position
Ctrl + L Clear the Screen, similar to the clear command
Alt + Del Delete the Word before the cursor.
Alt + d Delete the Word after the cursor.
Ctrl + d Delete character under the cursor
Ctrl + h Delete character before the cursor (Backspace)
Ctrl + w Cut the Word before the cursor to the clipboard.
Ctrl + k Cut the Line after the cursor to the clipboard.
Ctrl + u Cut/delete the Line before the cursor to the clipboard.
Alt + t Swap current word with previous
Ctrl + t Swap the last two characters before the cursor (typo).
Esc + t Swap the last two words before the cursor.
ctrl + y Paste the last thing to be cut (yank)
Alt + u UPPER capitalize every character from the cursor to the end of the current word.
Alt + l Lower the case of every character from the cursor to the end of the current word.
Alt + c Capitalize the character under the cursor and move to the end of the word.
Alt + r Cancel the changes and put back the line as it was in the history (revert).
ctrl + _ Undo
Ctrl + r Recall the last command including the specified character(s)
searches the command history as you type.
Equivalent to : vim ~/.bash_history.
Ctrl + p Previous command in history (i.e. walk back through the command history)
Ctrl + n Next command in history (i.e. walk forward through the command history)
Ctrl + s Go back to the next most recent command.
(beware to not execute it from a terminal because this will also launch its XOFF).
Ctrl + o Execute the command found via Ctrl+r or Ctrl+s
Ctrl + g Escape from history searching mode
!! Repeat last command
!abc Run last command starting with abc
!abc:p Print last command starting with abc
!$ Last argument of previous command
ALT + . Last argument of previous command
!* All arguments of previous command
^abc^def Run previous command, replacing abc with def
Last modified: Thu Nov 13 23:28:14 2025