Variable Substitutionby Pigbrain

Variable Substitution

  • 아래 표현식들에는 공백(space)를 포함해선 안된다
  • 콜론(:)은 옵션으로 쓰이며 만약 콜론이 있을 경우 값은 null이 나오지 않는다
FormMeaning
var=value Set each variable var to a value
${var} Use value of var
${var:-value} Use var if set; otherwise, use value
${var:=value} Use var if set; otherwise, use value and assign value to var
${var:=value} Use var if set; otherwise, use value and assign value to var
${#var} Use the length of var
${#*} Use the number of positional parameters
${#@} Use the number of positional parameters
${var:pos} Starting at position pos (0-based) in variable
${var:pos:len} var, extract len characters, or extract rest of string
${var/pat/repl} Use value of var, with first match of pat replaced with repl
${var/pat} Use value of var, with first match of pat deleted
${var/pat/repl} Use value of var, with first match of pat replaced with repl

Example

  1. prompt> var1=apple var2=banana
  2. prompt> echo ${var1} ${var2}
  3. apple banana
  4.  
  5. prompt> echo ${var1:-none} ${var3:-none}
  6. apple none
  7.  
  8. prompt> echo ${var3}
  9. prompt> echo ${var3:=computer}
  10. computer
  11. prompt> echo ${var3}
  12. computer
  13.  
  14. prompt> echo ${#var3}
  15. 8
  16.  
  17. prompt> cat test.sh
  18. echo ${#*}
  19. echo ${#@}
  20. prompt> ./test.sh a b c d
  21. 4
  22. 4
  23.  
  24. prompt> echo ${var3:3}
  25. puter
  26. prompt> echo ${var3:3:2}
  27. pu
  28.  
  29. prompt> echo ${var3/com/moc}
  30. mocputer
  31. prompt> echo ${var3/com}
  32. puter
  33.  
  34. prompt> var4=apple1apple2apple3
  35. prompt> echo ${var4/apple/banana}
  36. banana1apple2apple3
  37. prompt> echo ${var4//apple/banana}
  38. banana1banana2banana3


참고

Published 18 March 2016