Filename¶
cmd | result |
---|---|
$0 | ./t.sh |
$(basename $0) | t.sh |
$(basename $0 .sh) | t |
${PWD##*/} | parent_dir_name |
Pattern Matching¶
https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html
Operations on variables¶
type | example | result | More |
---|---|---|---|
Length | echo ${#SHELL} | 9 | |
${parameter:-$var} | ${NULL:-$SHELL} | /bin/bash | |
${parameter:-word} | echo ${SHELL:-ignored} | /bin/bash | [ -z “${COLUMNS:-}” ] && COLUMNS=80 ; echo $COLUMNS |
${parameter:=word} | unset a ; echo ${a:=b} ; echo $a | b b | |
${VAR:OFFSET:KEEP} | echo ${SHELL:0:4} | /bin | |
${VAR/PATTERN/NEW} | echo ${SHELL/b/} | /in/bash | |
${VAR//PATTERN/NEW} | echo ${SHELL//b/} | /in/ash | |
${VAR#beginning} | echo ${SHELL#*/} | bin/bash | |
${VAR##beginning} | echo ${SHELL##*/} | bash | |
${VAR%trailing} | ${SHELL%/*h} | /bin |