SC2049
Vidar Holen edited this page Oct 21, 2018
·
1 revision
=~ is for regex, but this looks like a glob. Use = instead.
Problematic code:
[[ $file =~ *.txt ]]Correct code:
[[ $file = *.txt ]]Rationale:
You are using =~ to match against a regex -- specifically a Extended Regular Expression (ERE) -- but the right-hand side looks more like a glob:
-
It may have a leading
*, like in*.txt- In a glob, this matches strings ending in
.txt, likereadme.txtbut notfoo.sh - In an ERE, this matches a literal asterisk, followed by any character, and then
txt, such as*itxtbut nottest.txt
- In a glob, this matches strings ending in
-
It may be a single letter followed by a
*, like ins*.- In a glob, this matches strings starting with
s, such asshellandset. - In an ERE, this matches zero or more
ss, such asdog(because it does in fact contain zero or mores's)
- In a glob, this matches strings starting with
Please ensure that the pattern is correct as an ERE, or switch to glob matching if that's what you intended.
This is similar to SC2063, where grep "*foo*" produces an equivalent warning.
Exceptions:
If you are aware of the difference, you can ignore this message, but this warning is not emitted for the more probable EREs \*.txt, \.txt$, ^s or s+, so it should rarely be necessary.
Related resources:
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
Pages 408
- Home
- Azure Pipelines
- CentOS6
- Checks
- CircleCI
- Contrib
- DevGuide
- Directive
- Drone
- GitLab CI
- Ignore
- Integration
- JUnit
- More Installation Guides
- Parser error
- Phabricator
- Recursiveness
- SC1000
- SC1001
- SC1003
- SC1004
- SC1007
- SC1008
- SC1009
- SC1010
- SC1011
- SC1012
- SC1014
- SC1015
- SC1016
- SC1017
- SC1018
- SC1019
- SC1020
- SC1026
- SC1028
- SC1029
- SC1033
- SC1034
- SC1035
- SC1036
- SC1037
- SC1038
- SC1039
- SC1040
- SC1041
- SC1042
- SC1044
- SC1045
- SC1046
- SC1047
- SC1048
- SC1049
- SC1050
- SC1051
- SC1052
- SC1053
- SC1054
- SC1056
- SC1058
- SC1061
- SC1062
- SC1064
- SC1065
- SC1066
- SC1067
- SC1068
- SC1069
- SC1070
- SC1071
- SC1072
- SC1073
- SC1075
- SC1077
- SC1078
- SC1079
- SC1081
- SC1082
- SC1083
- SC1084
- SC1086
- SC1087
- SC1088
- SC1089
- SC1090
- SC1091
- SC1094
- SC1095
- SC1097
- SC1098
- SC1099
- SC1100
- SC1101
- SC1102
- SC1104
- SC1105
- SC1107
- SC1108
- SC1109
- SC1110
- SC1111
- SC1112
- SC1113
- SC1114
- SC1115
- SC1116
- SC1117
- SC1118
- SC1119
- SC1120
- SC1121
- SC1122
- SC1123
- SC1124
- SC1125
- SC1126
- SC1127
- SC1128
- SC1129
- SC1130
- SC1131
- SC1132
- SC1133
- SC1135
- SC1136
- SC2000
- SC2001
- SC2002
- SC2003
- SC2004
- SC2005
- SC2006
- SC2007
- SC2008
- SC2009
- SC2010
- SC2011
- SC2012
- SC2013
- SC2014
- SC2015
- SC2016
- SC2017
- SC2018
- SC2019
- SC2020
- SC2021
- SC2022
- SC2024
- SC2025
- SC2026
- SC2027
- SC2028
- SC2029
- SC2030
- SC2031
- SC2032
- SC2033
- SC2034
- SC2035
- SC2036
- SC2037
- SC2038
- SC2039
- SC2040
- SC2041
- SC2043
- SC2044
- SC2045
- SC2046
- SC2048
- SC2049
- SC2050
- SC2051
- SC2053
- SC2054
- SC2055
- SC2056
- SC2057
- SC2058
- SC2059
- SC2060
- SC2061
- SC2062
- SC2063
- SC2064
- SC2065
- SC2066
- SC2067
- SC2068
- SC2069
- SC2070
- SC2071
- SC2072
- SC2073
- SC2074
- SC2076
- SC2077
- SC2078
- SC2079
- SC2080
- SC2081
- SC2082
- SC2084
- SC2086
- SC2087
- SC2088
- SC2089
- SC2090
- SC2091
- SC2092
- SC2093
- SC2094
- SC2095
- SC2096
- SC2097
- SC2098
- SC2099
- SC2100
- SC2101
- SC2102
- SC2103
- SC2104
- SC2105
- SC2106
- SC2107
- SC2108
- SC2109
- SC2110
- SC2112
- SC2114
- SC2115
- SC2116
- SC2117
- SC2119
- SC2120
- SC2121
- SC2122
- SC2123
- SC2124
- SC2125
- SC2126
- SC2128
- SC2129
- SC2130
- SC2139
- SC2140
- SC2141
- SC2142
- SC2143
- SC2144
- SC2145
- SC2146
- SC2147
- SC2148
- SC2149
- SC2150
- SC2151
- SC2152
- SC2153
- SC2154
- SC2155
- SC2156
- SC2157
- SC2158
- SC2159
- SC2160
- SC2161
- SC2162
- SC2163
- SC2164
- SC2165
- SC2166
- SC2167
- SC2168
- SC2169
- SC2170
- SC2171
- SC2172
- SC2173
- SC2174
- SC2175
- SC2176
- SC2177
- SC2178
- SC2179
- SC2180
- SC2181
- SC2182
- SC2183
- SC2184
- SC2185
- SC2186
- SC2187
- SC2188
- SC2189
- SC2190
- SC2191
- SC2192
- SC2193
- SC2194
- SC2195
- SC2196
- SC2197
- SC2198
- SC2199
- SC2200
- SC2201
- SC2202
- SC2203
- SC2204
- SC2205
- SC2206
- SC2207
- SC2208
- SC2209
- SC2210
- SC2211
- SC2212
- SC2213
- SC2214
- SC2215
- SC2216
- SC2217
- SC2218
- SC2219
- SC2220
- SC2221
- SC2222
- SC2223
- SC2224
- SC2225
- SC2226
- SC2227
- SC2229
- SC2230
- SC2231
- SC2232
- SC2233
- SC2234
- SC2235
- SC2236
- SC2237
- SC2238
- SC2239
- SC2240
- SC2241
- SC2242
- SC2243
- SC2244
- SC2245
- SC2246
- SC2247
- SC2248
- SC2249
- SC2250
- SC2251
- SC2252
- SC2253
- SC2254
- SC2255
- SC2256
- SC2257
- SC2259
- SC2260
- SC2261
- SC2262
- SC2263
- SC2264
- SC2267
- SC2268
- SC3001
- SC3002
- SC3003
- SC3013
- SC3014
- SC3017
- SC3018
- SC3020
- SC3021
- SC3022
- SC3023
- SC3024
- SC3025
- SC3026
- SC3028
- SC3031
- SC3034
- SC3035
- SC3037
- SC3038
- SC3039
- SC3043
- SC3045
- SC3046
- SC3047
- SC3048
- SC3049
- SC3050
- SC3053
- SC3054
- SC3055
- SC3056
- SC3057
- SC3060
- severity
- Template
- TravisCI