0% found this document useful (0 votes)
16 views

Unix Commands Cheetsheet

Uploaded by

Ashok The gamer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
16 views

Unix Commands Cheetsheet

Uploaded by

Ashok The gamer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 11
‘1324, 5:05 PM. ‘Bash scripting cheatshect DEVHINTS.10 eit Bash scripting cheatsheet ‘Adobe Creative Cloud for Teams. Put creativity to work ads via Carbon Introduction Example This is a quick reference to getting started with Bash scripting. #1 /usr/bin/e, earn bash fe name="John"’ earn bash in y minutes (learnxinyminutes: Scho “Hello « Bash Guide (mywik ige.orc Bash Hackers Wiki (wiki bash 15.016 Variables String quotes ‘name="Johin’" echo Sname 7 hname=" John" ne echo "ili Sname" #=> Hi John echo ‘Hi Same! #=> Hi Sname ot Shell execution echo "I'm in $(pwd)" echo “I'm in ‘puid’" # obsolescent # Same Conditional e ‘See Command substitution git commit & git conmit | Functions Conditionals Intpssdevhints.ofbash ane ‘324, 5:05 PM. ‘Bash scripting cheatshect get_name() { echo "John" echo "You are $(get_name)" See: Functions Strict mode set -euo pipefail IFS=$'\n\t" See: Unofficial bash strict mode * Parameter expansions Basics name="John" echo "s{name}" echo "S{name/J/j}" #=> "john" (substitution) echo "${name:0:2}" #=> "Jo" (slicing) echo "S{name::2}" #=> "Jo" (slicing) echo "${name::-1}" #=> "Joh" (slicing) echo "${name:(-1)}" #=> "n" (slicing from right) echo "${name:(-2):1}" #=> “h" (slicing from right) echo "${food:-Cake}" #=> $food or "Cake" ength=2 ntpssdevhints.ofbash af [[ -2 "ss echo "Stri elif [[ -n echo "str fh See: Condition Brace expans echo {A,B}.j {A,B} {A,B)-is (a..5) {{1. 3}, {7.0! See: Brace expa Substitution S${fooxsur fix S${foo#pretix ${FooRxsut fa; ${foo/xsut fi: ${footiprefi: ${foo/#prefi: ana ‘324, 5:05 PM. echo "${name:0:length}" See: Parameter expansion str="/path/to/foo.cpp" echo "${str%.cpp)" —# echo "${str&.cpp}.o" # echo "${str%/*} # echo "S{stri#i*.)" echo "S{str##s)" # echo "S{str#*/}" # echo "S{str#H*/)" # echo "S{str/foo/bar}" # str="Hello world" echo "${str:6:5)" echo "${str: -5:5}" "/path/to/foo.cpp" {srcHH*/} > "Jo" Zpath/to/Foo Jpath/to/Fo0.0 Jpath/to cpp (extension) foo.cpp (basepath) path/to/foo.cpp foo.cpp Ypath/to/bar .cpp # “world” # “world” ¥=> "foo. cpp" (basepath) dir=${srcxSbase)} 4=> "/path/to/" (dirpath) Length ${HFoo} Default values ${foo: -val} ${foo:=val} ${foo: val} ${foo:2message} Omitting the Intpssdevhints.ofbash ‘Bash scripting cheatshect ${foo/from/ts ${foo//From/: ${foo/xfrom/ ${foo/#from/ Comments # Single Lin This is a multi Line comment Substrings ${f00:0:3} ${Foo:(-3):3 Manipulation Le! str="HELLO W echo "s{str, fecha "Sistr, w Sfoo, of val if unset (or null) rs Set $foo to val if unset (or null) val if $fo0 is set (and not null) ‘Show error message and exit if $f00 is unset (or null) removes the (non)nullity checks, e.g. ${foo-val} expands to val if unset otherwise $foo. a2 ‘ Loops Basic for loop for i in /ete/re.*; do echo "$i" done Ranges for i in {1.5}; do echo "Welcome $i” done With step size for i in {5..50..5}; do echo "Welcome $i” done Functions Defining functions myfunc() { echo "hello $1" # Same as above (alternate syntax) function myfunc() { echo “hello $1" myfune "John" Intpssdevhints.ofbash ‘Bash scripting cheatshect C-like for loo for ((i = © echo "$i" done Reading lines while read - echo "$Lin done foo) shopt -s nul. set 0 errexit i Used to exit upon error, avoiding cascading errors shopt -s fai set -o pipefail # Unveils hidden failures shopt 5 noc. set -o nounset. # Exposes unset variables shopt -s dot: shopt -s glol Set GLOBTGNOR * History Commands Expansions history 1s shopt -s histverify Don't execute expanded result !* ion Operations " Execute last command again 11 :5/// Replace first occurrence of to in most recent command lices 11 1g/// Replace all occurrences of to in most recelt command iste Expand only basename from last parameter of most rece! 1: sh Expand only directory from last parameter of most rece! 11 and 1$ can be replaced with any valid expansion. $ Nin-m Lins Intpssdevhints.ofbash sina ‘1324, 5:05 PM. ‘Bash scripting cheatshect Miscellaneous Numeric calculations $((a + 200)) # Add 200 to $a $((SRANDOMK200)) # Random number 0. .199 declare -i count # Declare as type integer count+=1, # Increment Inspecting commands command -V ed => "ed is a function/alias/whatever" Trap errors trap ‘echo Error at about $LINENO' ERR or traperr() { echo "ERROR: S{BASH_SOURCE[1]} at about ${BASH_LINENO[9]}" } set -o errtrace trap traperr ERR Source relative Intpssdevhints.ofbash 1 can be repla Subshells (od somedir; pud # still Redirection python hello python hello python hello python hello nwthan hello lo lo wa python hello diff <(s -r Case/switch case "Si" in start | up vagrant 1 » echo "Us: esac gina ‘324, 5:05 PM. source "${0%/*}/../share/foo.sh" Transform strings (Cupper:] [:lower:] [:digit:] Lispace:] [:alpha:} [:alnum:] Example echo "Welcome To Devhints" | tr '[:lower:]' WELCOME TO DEVHINTS Heredoc cat <

You might also like