Created
March 15, 2020 10:28
-
-
Save jamesxmcintosh/86daf95cc164ff529b4560cae17ae0e9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
echo "Hi there!" | |
# Parameter Expansion | |
xxx${xxx}xxx # parameter in braces | |
xxx${"{"}xxx xxx${"}"}xxx # brace in quoted string | |
xxx${xxx}xxx # Parameter in braces | |
xxx${var/\"}xxx xxx${var/\}}xxx # Escaped characters | |
xxx$0000 # one digit parameter | |
xxx$0000 # One digit parameter | |
xxx$-xxx xxx$$xxx xxx$@xxx # Special parameters | |
xxx${array[@]}xxx xxx${!array[@]}xxx xxx${array[-1]}xxx # Arrays | |
xxx${parameter:-word}xxx${parameter-word}xxx # Use Default Values | |
xxx${parameter:=word}xxx${parameter=word}xxx # Assign Default Values | |
xxx${parameter:?word}xxx${parameter?word}xxx # Indicate Error if Null or Unset | |
xxx${parameter:?}xxx${parameter?}xxx # Indicate Error if Null or Unset | |
xxx${parameter:+word}xxx${parameter+word}xxx # Use Alternative Value | |
xxx${#parameter}xxx # String Length | |
xxx${!parameter}xxx # Names matching prefix | |
xxx${parameter%word}xxx # Remove Smallest Suffix Pattern | |
xxx${parameter%%word}xxx # Remove Largest Suffix Pattern | |
xxx${parameter#word}xxx # Remove Smallest Prefix Pattern | |
xxx${parameter##word}xxx # Remove Largest Prefix Pattern | |
xxx${x:-$(ls)}xxx | |
xxx${posix:?}xxx | |
xxx${3:+posix}xxx | |
xxx${#HOME}xxx | |
xxx${x%.c}.oxxx | |
xxx${x#$HOME}xxx | |
xxx${x##*/}xxx | |
xxx${x#*}xxx | |
xxx${x#"*"}xxx | |
# Variable definitions | |
var1=val1; var2=val2 var3=val3 | |
if var=$(cmd); then some; fi | |
test -f xxx && var=xxx || var=yyy | |
echo text | var=xxx cmd & var=yyy | |
declare -i '-r' "-x" var1=val1 var2=$val1 var3=`cmd1` \ | |
var4=$(cmd2) var5=xxx\ yyy var6 #comment | |
var4=$(cmd2) var5=xxx\ yyy var6 # Comment | |
var+=xxx; (var=yyy); { var=zzz; } | |
case $1 in | |
item) var=xxx;; | |
*)declare var=yyy;; | |
esac | |
# For statements | |
for word in hello world | |
do | |
echo $word | |
done | |
for arg; do echo $arg; done | |
for \ | |
arg; do echo $arg; done | |
echo Look for file | |
echo Look for; echo Look for | |
echo next line | |
# Redirections | |
> >> 1>&2 &> 3>&- | |
< 0<&3 3<&- | |
3<> 1>| |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment