envVarTest 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. A|hello | hello
  2. A|he'll'o | hello
  3. A|he'llo | error
  4. A|he\'llo | he'llo
  5. A|he\\'llo | error
  6. A|abc\tdef | abctdef
  7. A|"abc\tdef" | abc\tdef
  8. A|"abc\\tdef" | abc\tdef
  9. A|'abc\tdef' | abc\tdef
  10. A|hello\ | hello
  11. A|hello\\ | hello\
  12. A|"hello | error
  13. A|"hello\" | error
  14. A|"hel'lo" | hel'lo
  15. A|'hello | error
  16. A|'hello\' | hello\
  17. A|'hello\there' | hello\there
  18. A|'hello\\there' | hello\\there
  19. A|"''" | ''
  20. A|$. | $.
  21. A|he$1x | hex
  22. A|he$.x | he$.x
  23. # Next one is different on Windows as $pwd==$PWD
  24. U|he$pwd. | he.
  25. W|he$pwd. | he/home.
  26. A|he$PWD | he/home
  27. A|he\$PWD | he$PWD
  28. A|he\\$PWD | he\/home
  29. A|"he\$PWD" | he$PWD
  30. A|"he\\$PWD" | he\/home
  31. A|\${} | ${}
  32. A|\${}aaa | ${}aaa
  33. A|he\${} | he${}
  34. A|he\${}xx | he${}xx
  35. A|${} | error
  36. A|${}aaa | error
  37. A|he${} | error
  38. A|he${}xx | error
  39. A|he${hi} | he
  40. A|he${hi}xx | hexx
  41. A|he${PWD} | he/home
  42. A|he${.} | error
  43. A|he${XXX:-000}xx | he000xx
  44. A|he${PWD:-000}xx | he/homexx
  45. A|he${XXX:-$PWD}xx | he/homexx
  46. A|he${XXX:-${PWD:-yyy}}xx | he/homexx
  47. A|he${XXX:-${YYY:-yyy}}xx | heyyyxx
  48. A|he${XXX:YYY} | error
  49. A|he${XXX:+${PWD}}xx | hexx
  50. A|he${PWD:+${XXX}}xx | hexx
  51. A|he${PWD:+${SHELL}}xx | hebashxx
  52. A|he${XXX:+000}xx | hexx
  53. A|he${PWD:+000}xx | he000xx
  54. A|'he${XX}' | he${XX}
  55. A|"he${PWD}" | he/home
  56. A|"he'$PWD'" | he'/home'
  57. A|"$PWD" | /home
  58. A|'$PWD' | $PWD
  59. A|'\$PWD' | \$PWD
  60. A|'"hello"' | "hello"
  61. A|he\$PWD | he$PWD
  62. A|"he\$PWD" | he$PWD
  63. A|'he\$PWD' | he\$PWD
  64. A|he${PWD | error
  65. A|he${PWD:=000}xx | error
  66. A|he${PWD:+${PWD}:}xx | he/home:xx
  67. A|he${XXX:-\$PWD:}xx | he$PWD:xx
  68. A|he${XXX:-\${PWD}z}xx | he${PWDz}xx
  69. A|안녕하세요 | 안녕하세요
  70. A|안'녕'하세요 | 안녕하세요
  71. A|안'녕하세요 | error
  72. A|안녕\'하세요 | 안녕'하세요
  73. A|안\\'녕하세요 | error
  74. A|안녕\t하세요 | 안녕t하세요
  75. A|"안녕\t하세요" | 안녕\t하세요
  76. A|'안녕\t하세요 | error
  77. A|안녕하세요\ | 안녕하세요
  78. A|안녕하세요\\ | 안녕하세요\
  79. A|"안녕하세요 | error
  80. A|"안녕하세요\" | error
  81. A|"안녕'하세요" | 안녕'하세요
  82. A|'안녕하세요 | error
  83. A|'안녕하세요\' | 안녕하세요\
  84. A|안녕$1x | 안녕x
  85. A|안녕$.x | 안녕$.x
  86. # Next one is different on Windows as $pwd==$PWD
  87. U|안녕$pwd. | 안녕.
  88. W|안녕$pwd. | 안녕/home.
  89. A|안녕$PWD | 안녕/home
  90. A|안녕\$PWD | 안녕$PWD
  91. A|안녕\\$PWD | 안녕\/home
  92. A|안녕\${} | 안녕${}
  93. A|안녕\${}xx | 안녕${}xx
  94. A|안녕${} | error
  95. A|안녕${}xx | error
  96. A|안녕${hi} | 안녕
  97. A|안녕${hi}xx | 안녕xx
  98. A|안녕${PWD} | 안녕/home
  99. A|안녕${.} | error
  100. A|안녕${XXX:-000}xx | 안녕000xx
  101. A|안녕${PWD:-000}xx | 안녕/homexx
  102. A|안녕${XXX:-$PWD}xx | 안녕/homexx
  103. A|안녕${XXX:-${PWD:-yyy}}xx | 안녕/homexx
  104. A|안녕${XXX:-${YYY:-yyy}}xx | 안녕yyyxx
  105. A|안녕${XXX:YYY} | error
  106. A|안녕${XXX:+${PWD}}xx | 안녕xx
  107. A|안녕${PWD:+${XXX}}xx | 안녕xx
  108. A|안녕${PWD:+${SHELL}}xx | 안녕bashxx
  109. A|안녕${XXX:+000}xx | 안녕xx
  110. A|안녕${PWD:+000}xx | 안녕000xx
  111. A|'안녕${XX}' | 안녕${XX}
  112. A|"안녕${PWD}" | 안녕/home
  113. A|"안녕'$PWD'" | 안녕'/home'
  114. A|'"안녕"' | "안녕"
  115. A|안녕\$PWD | 안녕$PWD
  116. A|"안녕\$PWD" | 안녕$PWD
  117. A|'안녕\$PWD' | 안녕\$PWD
  118. A|안녕${PWD | error
  119. A|안녕${PWD:=000}xx | error
  120. A|안녕${PWD:+${PWD}:}xx | 안녕/home:xx
  121. A|안녕${XXX:-\$PWD:}xx | 안녕$PWD:xx
  122. A|안녕${XXX:-\${PWD}z}xx | 안녕${PWDz}xx
  123. A|$KOREAN | 한국어
  124. A|안녕$KOREAN | 안녕한국어
  125. A|${{aaa} | error
  126. A|${aaa}} | }
  127. A|${aaa | error
  128. A|${{aaa:-bbb} | error
  129. A|${aaa:-bbb}} | bbb}
  130. A|${aaa:-bbb | error
  131. A|${aaa:-bbb} | bbb
  132. A|${aaa:-${bbb:-ccc}} | ccc
  133. A|${aaa:-bbb ${foo} | error
  134. A|${aaa:-bbb {foo} | bbb {foo
  135. A|${:} | error
  136. A|${:-bbb} | error
  137. A|${:+bbb} | error
  138. # Positional parameters won't be set:
  139. # http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_05_01
  140. A|$1 |
  141. A|${1} |
  142. A|${1:+bbb} |
  143. A|${1:-bbb} | bbb
  144. A|$2 |
  145. A|${2} |
  146. A|${2:+bbb} |
  147. A|${2:-bbb} | bbb
  148. A|$3 |
  149. A|${3} |
  150. A|${3:+bbb} |
  151. A|${3:-bbb} | bbb
  152. A|$4 |
  153. A|${4} |
  154. A|${4:+bbb} |
  155. A|${4:-bbb} | bbb
  156. A|$5 |
  157. A|${5} |
  158. A|${5:+bbb} |
  159. A|${5:-bbb} | bbb
  160. A|$6 |
  161. A|${6} |
  162. A|${6:+bbb} |
  163. A|${6:-bbb} | bbb
  164. A|$7 |
  165. A|${7} |
  166. A|${7:+bbb} |
  167. A|${7:-bbb} | bbb
  168. A|$8 |
  169. A|${8} |
  170. A|${8:+bbb} |
  171. A|${8:-bbb} | bbb
  172. A|$9 |
  173. A|${9} |
  174. A|${9:+bbb} |
  175. A|${9:-bbb} | bbb
  176. A|$999 |
  177. A|${999} |
  178. A|${999:+bbb} |
  179. A|${999:-bbb} | bbb
  180. A|$999aaa | aaa
  181. A|${999}aaa | aaa
  182. A|${999:+bbb}aaa | aaa
  183. A|${999:-bbb}aaa | bbbaaa
  184. A|$001 |
  185. A|${001} |
  186. A|${001:+bbb} |
  187. A|${001:-bbb} | bbb
  188. A|$001aaa | aaa
  189. A|${001}aaa | aaa
  190. A|${001:+bbb}aaa | aaa
  191. A|${001:-bbb}aaa | bbbaaa
  192. # Special parameters won't be set in the Dockerfile:
  193. # http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_05_02
  194. A|$@ |
  195. A|${@} |
  196. A|${@:+bbb} |
  197. A|${@:-bbb} | bbb
  198. A|$@@@ | @@
  199. A|$@aaa | aaa
  200. A|${@}aaa | aaa
  201. A|${@:+bbb}aaa | aaa
  202. A|${@:-bbb}aaa | bbbaaa
  203. A|$* |
  204. A|${*} |
  205. A|${*:+bbb} |
  206. A|${*:-bbb} | bbb
  207. A|$# |
  208. A|${#} |
  209. A|${#:+bbb} |
  210. A|${#:-bbb} | bbb
  211. A|$? |
  212. A|${?} |
  213. A|${?:+bbb} |
  214. A|${?:-bbb} | bbb
  215. A|$- |
  216. A|${-} |
  217. A|${-:+bbb} |
  218. A|${-:-bbb} | bbb
  219. A|$$ |
  220. A|${$} |
  221. A|${$:+bbb} |
  222. A|${$:-bbb} | bbb
  223. A|$! |
  224. A|${!} |
  225. A|${!:+bbb} |
  226. A|${!:-bbb} | bbb
  227. A|$0 |
  228. A|${0} |
  229. A|${0:+bbb} |
  230. A|${0:-bbb} | bbb