├── .gitattributes ├── .gitignore ├── .travis.yml ├── .travis ├── deploy.sh └── settings.xml ├── LICENSE.txt ├── README.md ├── it ├── Dockerfile-auditor ├── audit.sh ├── docker-compose.yml ├── it.sh ├── sonar-project.properties └── src │ └── test1.sh ├── pom.xml └── src ├── etc └── header.txt ├── main ├── java │ └── com │ │ └── github │ │ └── sbaudoin │ │ └── sonar │ │ └── plugins │ │ └── shellcheck │ │ ├── ShellCheckPlugin.java │ │ ├── checks │ │ └── CheckRepository.java │ │ ├── highlighting │ │ ├── HighlightingData.java │ │ ├── ShellHighlighting.java │ │ └── ShellLocation.java │ │ ├── languages │ │ ├── ShellLanguage.java │ │ └── ShellQualityProfile.java │ │ ├── lexer │ │ ├── AbstractBashLexer.java │ │ ├── BashLexer.java │ │ ├── BashLexer.java~ │ │ ├── BashLexerBase.java │ │ ├── HeredocLexingState.java │ │ ├── HeredocSharedImpl.java │ │ ├── ShellLexer.java │ │ ├── StringLexingstate.java │ │ ├── Token.java │ │ └── TokenType.java │ │ ├── measures │ │ ├── LineCountData.java │ │ ├── LineCountParser.java │ │ └── LineCounter.java │ │ ├── rules │ │ ├── ShellCheckRulesDefinition.java │ │ └── ShellCheckSensor.java │ │ ├── settings │ │ └── ShellCheckSettings.java │ │ └── util │ │ └── FileSystem.java ├── jflex │ ├── bash.jflex │ └── skeleton ├── resources │ └── org │ │ └── sonar │ │ └── l10n │ │ └── shellcheck │ │ └── rules │ │ └── shellcheck │ │ ├── SC1000.html │ │ ├── SC1000.json │ │ ├── SC1001.html │ │ ├── SC1001.json │ │ ├── SC1003.html │ │ ├── SC1003.json │ │ ├── SC1004.html │ │ ├── SC1004.json │ │ ├── SC1007.html │ │ ├── SC1007.json │ │ ├── SC1008.html │ │ ├── SC1008.json │ │ ├── SC1009.html │ │ ├── SC1009.json │ │ ├── SC1010.html │ │ ├── SC1010.json │ │ ├── SC1011.html │ │ ├── SC1011.json │ │ ├── SC1012.html │ │ ├── SC1012.json │ │ ├── SC1013.html │ │ ├── SC1013.json │ │ ├── SC1014.html │ │ ├── SC1014.json │ │ ├── SC1017.html │ │ ├── SC1017.json │ │ ├── SC1018.html │ │ ├── SC1018.json │ │ ├── SC1019.html │ │ ├── SC1019.json │ │ ├── SC1020.html │ │ ├── SC1020.json │ │ ├── SC1021.html │ │ ├── SC1021.json │ │ ├── SC1026.html │ │ ├── SC1026.json │ │ ├── SC1027.html │ │ ├── SC1027.json │ │ ├── SC1028.html │ │ ├── SC1028.json │ │ ├── SC1029.html │ │ ├── SC1029.json │ │ ├── SC1033.html │ │ ├── SC1033.json │ │ ├── SC1034.html │ │ ├── SC1034.json │ │ ├── SC1035.html │ │ ├── SC1035.json │ │ ├── SC1036.html │ │ ├── SC1036.json │ │ ├── SC1037.html │ │ ├── SC1037.json │ │ ├── SC1038.html │ │ ├── SC1038.json │ │ ├── SC1039.html │ │ ├── SC1039.json │ │ ├── SC1040.html │ │ ├── SC1040.json │ │ ├── SC1041.html │ │ ├── SC1041.json │ │ ├── SC1042.html │ │ ├── SC1042.json │ │ ├── SC1043.html │ │ ├── SC1043.json │ │ ├── SC1044.html │ │ ├── SC1044.json │ │ ├── SC1045.html │ │ ├── SC1045.json │ │ ├── SC1046.html │ │ ├── SC1046.json │ │ ├── SC1047.html │ │ ├── SC1047.json │ │ ├── SC1048.html │ │ ├── SC1048.json │ │ ├── SC1049.html │ │ ├── SC1049.json │ │ ├── SC1050.html │ │ ├── SC1050.json │ │ ├── SC1051.html │ │ ├── SC1051.json │ │ ├── SC1052.html │ │ ├── SC1052.json │ │ ├── SC1053.html │ │ ├── SC1053.json │ │ ├── SC1054.html │ │ ├── SC1054.json │ │ ├── SC1055.html │ │ ├── SC1055.json │ │ ├── SC1056.html │ │ ├── SC1056.json │ │ ├── SC1057.html │ │ ├── SC1057.json │ │ ├── SC1058.html │ │ ├── SC1058.json │ │ ├── SC1059.html │ │ ├── SC1059.json │ │ ├── SC1060.html │ │ ├── SC1060.json │ │ ├── SC1061.html │ │ ├── SC1061.json │ │ ├── SC1062.html │ │ ├── SC1062.json │ │ ├── SC1063.html │ │ ├── SC1063.json │ │ ├── SC1064.html │ │ ├── SC1064.json │ │ ├── SC1065.html │ │ ├── SC1065.json │ │ ├── SC1066.html │ │ ├── SC1066.json │ │ ├── SC1067.html │ │ ├── SC1067.json │ │ ├── SC1068.html │ │ ├── SC1068.json │ │ ├── SC1069.html │ │ ├── SC1069.json │ │ ├── SC1070.html │ │ ├── SC1070.json │ │ ├── SC1071.html │ │ ├── SC1071.json │ │ ├── SC1072.html │ │ ├── SC1072.json │ │ ├── SC1073.html │ │ ├── SC1073.json │ │ ├── SC1074.html │ │ ├── SC1074.json │ │ ├── SC1075.html │ │ ├── SC1075.json │ │ ├── SC1076.html │ │ ├── SC1076.json │ │ ├── SC1077.html │ │ ├── SC1077.json │ │ ├── SC1078.html │ │ ├── SC1078.json │ │ ├── SC1079.html │ │ ├── SC1079.json │ │ ├── SC1080.html │ │ ├── SC1080.json │ │ ├── SC1081.html │ │ ├── SC1081.json │ │ ├── SC1082.html │ │ ├── SC1082.json │ │ ├── SC1083.html │ │ ├── SC1083.json │ │ ├── SC1084.html │ │ ├── SC1084.json │ │ ├── SC1085.html │ │ ├── SC1085.json │ │ ├── SC1086.html │ │ ├── SC1086.json │ │ ├── SC1087.html │ │ ├── SC1087.json │ │ ├── SC1088.html │ │ ├── SC1088.json │ │ ├── SC1089.html │ │ ├── SC1089.json │ │ ├── SC1090.html │ │ ├── SC1090.json │ │ ├── SC1091.html │ │ ├── SC1091.json │ │ ├── SC1092.html │ │ ├── SC1092.json │ │ ├── SC1093.html │ │ ├── SC1093.json │ │ ├── SC1094.html │ │ ├── SC1094.json │ │ ├── SC1095.html │ │ ├── SC1095.json │ │ ├── SC1097.html │ │ ├── SC1097.json │ │ ├── SC1098.html │ │ ├── SC1098.json │ │ ├── SC1099.html │ │ ├── SC1099.json │ │ ├── SC1100.html │ │ ├── SC1100.json │ │ ├── SC1101.html │ │ ├── SC1101.json │ │ ├── SC1102.html │ │ ├── SC1102.json │ │ ├── SC1103.html │ │ ├── SC1103.json │ │ ├── SC1104.html │ │ ├── SC1104.json │ │ ├── SC1105.html │ │ ├── SC1105.json │ │ ├── SC1106.html │ │ ├── SC1106.json │ │ ├── SC1107.html │ │ ├── SC1107.json │ │ ├── SC1108.html │ │ ├── SC1108.json │ │ ├── SC1109.html │ │ ├── SC1109.json │ │ ├── SC1110.html │ │ ├── SC1110.json │ │ ├── SC1111.html │ │ ├── SC1111.json │ │ ├── SC1112.html │ │ ├── SC1112.json │ │ ├── SC1113.html │ │ ├── SC1113.json │ │ ├── SC1114.html │ │ ├── SC1114.json │ │ ├── SC1115.html │ │ ├── SC1115.json │ │ ├── SC1116.html │ │ ├── SC1116.json │ │ ├── SC1118.html │ │ ├── SC1118.json │ │ ├── SC1119.html │ │ ├── SC1119.json │ │ ├── SC1120.html │ │ ├── SC1120.json │ │ ├── SC1121.html │ │ ├── SC1121.json │ │ ├── SC1122.html │ │ ├── SC1122.json │ │ ├── SC1123.html │ │ ├── SC1123.json │ │ ├── SC1124.html │ │ ├── SC1124.json │ │ ├── SC1125.html │ │ ├── SC1125.json │ │ ├── SC1126.html │ │ ├── SC1126.json │ │ ├── SC1127.html │ │ ├── SC1127.json │ │ ├── SC1128.html │ │ ├── SC1128.json │ │ ├── SC1129.html │ │ ├── SC1129.json │ │ ├── SC1130.html │ │ ├── SC1130.json │ │ ├── SC1131.html │ │ ├── SC1131.json │ │ ├── SC1132.html │ │ ├── SC1132.json │ │ ├── SC1133.html │ │ ├── SC1133.json │ │ ├── SC1134.html │ │ ├── SC1134.json │ │ ├── SC1135.html │ │ ├── SC1135.json │ │ ├── SC1136.html │ │ ├── SC1136.json │ │ ├── SC1137.html │ │ ├── SC1137.json │ │ ├── SC1138.html │ │ ├── SC1138.json │ │ ├── SC1139.html │ │ ├── SC1139.json │ │ ├── SC1140.html │ │ ├── SC1140.json │ │ ├── SC1141.html │ │ ├── SC1141.json │ │ ├── SC1142.html │ │ ├── SC1142.json │ │ ├── SC1143.html │ │ ├── SC1143.json │ │ ├── SC1144.html │ │ ├── SC1144.json │ │ ├── SC1145.html │ │ ├── SC1145.json │ │ ├── SC2000.html │ │ ├── SC2000.json │ │ ├── SC2001.html │ │ ├── SC2001.json │ │ ├── SC2002.html │ │ ├── SC2002.json │ │ ├── SC2003.html │ │ ├── SC2003.json │ │ ├── SC2004.html │ │ ├── SC2004.json │ │ ├── SC2005.html │ │ ├── SC2005.json │ │ ├── SC2006.html │ │ ├── SC2006.json │ │ ├── SC2007.html │ │ ├── SC2007.json │ │ ├── SC2008.html │ │ ├── SC2008.json │ │ ├── SC2009.html │ │ ├── SC2009.json │ │ ├── SC2010.html │ │ ├── SC2010.json │ │ ├── SC2011.html │ │ ├── SC2011.json │ │ ├── SC2012.html │ │ ├── SC2012.json │ │ ├── SC2013.html │ │ ├── SC2013.json │ │ ├── SC2014.html │ │ ├── SC2014.json │ │ ├── SC2015.html │ │ ├── SC2015.json │ │ ├── SC2016.html │ │ ├── SC2016.json │ │ ├── SC2017.html │ │ ├── SC2017.json │ │ ├── SC2018.html │ │ ├── SC2018.json │ │ ├── SC2019.html │ │ ├── SC2019.json │ │ ├── SC2020.html │ │ ├── SC2020.json │ │ ├── SC2021.html │ │ ├── SC2021.json │ │ ├── SC2022.html │ │ ├── SC2022.json │ │ ├── SC2023.html │ │ ├── SC2023.json │ │ ├── SC2024.html │ │ ├── SC2024.json │ │ ├── SC2025.html │ │ ├── SC2025.json │ │ ├── SC2026.html │ │ ├── SC2026.json │ │ ├── SC2027.html │ │ ├── SC2027.json │ │ ├── SC2028.html │ │ ├── SC2028.json │ │ ├── SC2029.html │ │ ├── SC2029.json │ │ ├── SC2030.html │ │ ├── SC2030.json │ │ ├── SC2031.html │ │ ├── SC2031.json │ │ ├── SC2032.html │ │ ├── SC2032.json │ │ ├── SC2033.html │ │ ├── SC2033.json │ │ ├── SC2034.html │ │ ├── SC2034.json │ │ ├── SC2035.html │ │ ├── SC2035.json │ │ ├── SC2036.html │ │ ├── SC2036.json │ │ ├── SC2037.html │ │ ├── SC2037.json │ │ ├── SC2038.html │ │ ├── SC2038.json │ │ ├── SC2039.html │ │ ├── SC2039.json │ │ ├── SC2040.html │ │ ├── SC2040.json │ │ ├── SC2041.html │ │ ├── SC2041.json │ │ ├── SC2042.html │ │ ├── SC2042.json │ │ ├── SC2043.html │ │ ├── SC2043.json │ │ ├── SC2044.html │ │ ├── SC2044.json │ │ ├── SC2045.html │ │ ├── SC2045.json │ │ ├── SC2046.html │ │ ├── SC2046.json │ │ ├── SC2048.html │ │ ├── SC2048.json │ │ ├── SC2049.html │ │ ├── SC2049.json │ │ ├── SC2050.html │ │ ├── SC2050.json │ │ ├── SC2051.html │ │ ├── SC2051.json │ │ ├── SC2053.html │ │ ├── SC2053.json │ │ ├── SC2054.html │ │ ├── SC2054.json │ │ ├── SC2055.html │ │ ├── SC2055.json │ │ ├── SC2056.html │ │ ├── SC2056.json │ │ ├── SC2057.html │ │ ├── SC2057.json │ │ ├── SC2058.html │ │ ├── SC2058.json │ │ ├── SC2059.html │ │ ├── SC2059.json │ │ ├── SC2060.html │ │ ├── SC2060.json │ │ ├── SC2061.html │ │ ├── SC2061.json │ │ ├── SC2062.html │ │ ├── SC2062.json │ │ ├── SC2063.html │ │ ├── SC2063.json │ │ ├── SC2064.html │ │ ├── SC2064.json │ │ ├── SC2065.html │ │ ├── SC2065.json │ │ ├── SC2066.html │ │ ├── SC2066.json │ │ ├── SC2067.html │ │ ├── SC2067.json │ │ ├── SC2068.html │ │ ├── SC2068.json │ │ ├── SC2069.html │ │ ├── SC2069.json │ │ ├── SC2070.html │ │ ├── SC2070.json │ │ ├── SC2071.html │ │ ├── SC2071.json │ │ ├── SC2072.html │ │ ├── SC2072.json │ │ ├── SC2073.html │ │ ├── SC2073.json │ │ ├── SC2074.html │ │ ├── SC2074.json │ │ ├── SC2075.html │ │ ├── SC2075.json │ │ ├── SC2076.html │ │ ├── SC2076.json │ │ ├── SC2077.html │ │ ├── SC2077.json │ │ ├── SC2078.html │ │ ├── SC2078.json │ │ ├── SC2079.html │ │ ├── SC2079.json │ │ ├── SC2080.html │ │ ├── SC2080.json │ │ ├── SC2081.html │ │ ├── SC2081.json │ │ ├── SC2082.html │ │ ├── SC2082.json │ │ ├── SC2083.html │ │ ├── SC2083.json │ │ ├── SC2084.html │ │ ├── SC2084.json │ │ ├── SC2086.html │ │ ├── SC2086.json │ │ ├── SC2087.html │ │ ├── SC2087.json │ │ ├── SC2088.html │ │ ├── SC2088.json │ │ ├── SC2089.html │ │ ├── SC2089.json │ │ ├── SC2090.html │ │ ├── SC2090.json │ │ ├── SC2091.html │ │ ├── SC2091.json │ │ ├── SC2092.html │ │ ├── SC2092.json │ │ ├── SC2093.html │ │ ├── SC2093.json │ │ ├── SC2094.html │ │ ├── SC2094.json │ │ ├── SC2095.html │ │ ├── SC2095.json │ │ ├── SC2096.html │ │ ├── SC2096.json │ │ ├── SC2097.html │ │ ├── SC2097.json │ │ ├── SC2098.html │ │ ├── SC2098.json │ │ ├── SC2099.html │ │ ├── SC2099.json │ │ ├── SC2100.html │ │ ├── SC2100.json │ │ ├── SC2101.html │ │ ├── SC2101.json │ │ ├── SC2102.html │ │ ├── SC2102.json │ │ ├── SC2103.html │ │ ├── SC2103.json │ │ ├── SC2104.html │ │ ├── SC2104.json │ │ ├── SC2105.html │ │ ├── SC2105.json │ │ ├── SC2106.html │ │ ├── SC2106.json │ │ ├── SC2107.html │ │ ├── SC2107.json │ │ ├── SC2108.html │ │ ├── SC2108.json │ │ ├── SC2109.html │ │ ├── SC2109.json │ │ ├── SC2110.html │ │ ├── SC2110.json │ │ ├── SC2111.html │ │ ├── SC2111.json │ │ ├── SC2112.html │ │ ├── SC2112.json │ │ ├── SC2113.html │ │ ├── SC2113.json │ │ ├── SC2114.html │ │ ├── SC2114.json │ │ ├── SC2115.html │ │ ├── SC2115.json │ │ ├── SC2116.html │ │ ├── SC2116.json │ │ ├── SC2117.html │ │ ├── SC2117.json │ │ ├── SC2118.html │ │ ├── SC2118.json │ │ ├── SC2119.html │ │ ├── SC2119.json │ │ ├── SC2120.html │ │ ├── SC2120.json │ │ ├── SC2121.html │ │ ├── SC2121.json │ │ ├── SC2122.html │ │ ├── SC2122.json │ │ ├── SC2123.html │ │ ├── SC2123.json │ │ ├── SC2124.html │ │ ├── SC2124.json │ │ ├── SC2125.html │ │ ├── SC2125.json │ │ ├── SC2126.html │ │ ├── SC2126.json │ │ ├── SC2127.html │ │ ├── SC2127.json │ │ ├── SC2128.html │ │ ├── SC2128.json │ │ ├── SC2129.html │ │ ├── SC2129.json │ │ ├── SC2130.html │ │ ├── SC2130.json │ │ ├── SC2139.html │ │ ├── SC2139.json │ │ ├── SC2140.html │ │ ├── SC2140.json │ │ ├── SC2141.html │ │ ├── SC2141.json │ │ ├── SC2142.html │ │ ├── SC2142.json │ │ ├── SC2143.html │ │ ├── SC2143.json │ │ ├── SC2144.html │ │ ├── SC2144.json │ │ ├── SC2145.html │ │ ├── SC2145.json │ │ ├── SC2146.html │ │ ├── SC2146.json │ │ ├── SC2147.html │ │ ├── SC2147.json │ │ ├── SC2148.html │ │ ├── SC2148.json │ │ ├── SC2149.html │ │ ├── SC2149.json │ │ ├── SC2150.html │ │ ├── SC2150.json │ │ ├── SC2151.html │ │ ├── SC2151.json │ │ ├── SC2152.html │ │ ├── SC2152.json │ │ ├── SC2153.html │ │ ├── SC2153.json │ │ ├── SC2154.html │ │ ├── SC2154.json │ │ ├── SC2155.html │ │ ├── SC2155.json │ │ ├── SC2156.html │ │ ├── SC2156.json │ │ ├── SC2157.html │ │ ├── SC2157.json │ │ ├── SC2158.html │ │ ├── SC2158.json │ │ ├── SC2159.html │ │ ├── SC2159.json │ │ ├── SC2160.html │ │ ├── SC2160.json │ │ ├── SC2161.html │ │ ├── SC2161.json │ │ ├── SC2162.html │ │ ├── SC2162.json │ │ ├── SC2163.html │ │ ├── SC2163.json │ │ ├── SC2164.html │ │ ├── SC2164.json │ │ ├── SC2165.html │ │ ├── SC2165.json │ │ ├── SC2166.html │ │ ├── SC2166.json │ │ ├── SC2167.html │ │ ├── SC2167.json │ │ ├── SC2168.html │ │ ├── SC2168.json │ │ ├── SC2169.html │ │ ├── SC2169.json │ │ ├── SC2170.html │ │ ├── SC2170.json │ │ ├── SC2171.html │ │ ├── SC2171.json │ │ ├── SC2172.html │ │ ├── SC2172.json │ │ ├── SC2173.html │ │ ├── SC2173.json │ │ ├── SC2174.html │ │ ├── SC2174.json │ │ ├── SC2175.html │ │ ├── SC2175.json │ │ ├── SC2176.html │ │ ├── SC2176.json │ │ ├── SC2177.html │ │ ├── SC2177.json │ │ ├── SC2178.html │ │ ├── SC2178.json │ │ ├── SC2179.html │ │ ├── SC2179.json │ │ ├── SC2180.html │ │ ├── SC2180.json │ │ ├── SC2181.html │ │ ├── SC2181.json │ │ ├── SC2182.html │ │ ├── SC2182.json │ │ ├── SC2183.html │ │ ├── SC2183.json │ │ ├── SC2184.html │ │ ├── SC2184.json │ │ ├── SC2185.html │ │ ├── SC2185.json │ │ ├── SC2186.html │ │ ├── SC2186.json │ │ ├── SC2187.html │ │ ├── SC2187.json │ │ ├── SC2188.html │ │ ├── SC2188.json │ │ ├── SC2189.html │ │ ├── SC2189.json │ │ ├── SC2190.html │ │ ├── SC2190.json │ │ ├── SC2191.html │ │ ├── SC2191.json │ │ ├── SC2192.html │ │ ├── SC2192.json │ │ ├── SC2193.html │ │ ├── SC2193.json │ │ ├── SC2194.html │ │ ├── SC2194.json │ │ ├── SC2195.html │ │ ├── SC2195.json │ │ ├── SC2196.html │ │ ├── SC2196.json │ │ ├── SC2197.html │ │ ├── SC2197.json │ │ ├── SC2198.html │ │ ├── SC2198.json │ │ ├── SC2199.html │ │ ├── SC2199.json │ │ ├── SC2200.html │ │ ├── SC2200.json │ │ ├── SC2201.html │ │ ├── SC2201.json │ │ ├── SC2202.html │ │ ├── SC2202.json │ │ ├── SC2203.html │ │ ├── SC2203.json │ │ ├── SC2204.html │ │ ├── SC2204.json │ │ ├── SC2205.html │ │ ├── SC2205.json │ │ ├── SC2206.html │ │ ├── SC2206.json │ │ ├── SC2207.html │ │ ├── SC2207.json │ │ ├── SC2208.html │ │ ├── SC2208.json │ │ ├── SC2209.html │ │ ├── SC2209.json │ │ ├── SC2210.html │ │ ├── SC2210.json │ │ ├── SC2211.html │ │ ├── SC2211.json │ │ ├── SC2212.html │ │ ├── SC2212.json │ │ ├── SC2213.html │ │ ├── SC2213.json │ │ ├── SC2214.html │ │ ├── SC2214.json │ │ ├── SC2215.html │ │ ├── SC2215.json │ │ ├── SC2216.html │ │ ├── SC2216.json │ │ ├── SC2217.html │ │ ├── SC2217.json │ │ ├── SC2218.html │ │ ├── SC2218.json │ │ ├── SC2219.html │ │ ├── SC2219.json │ │ ├── SC2220.html │ │ ├── SC2220.json │ │ ├── SC2221.html │ │ ├── SC2221.json │ │ ├── SC2222.html │ │ ├── SC2222.json │ │ ├── SC2223.html │ │ ├── SC2223.json │ │ ├── SC2224.html │ │ ├── SC2224.json │ │ ├── SC2225.html │ │ ├── SC2225.json │ │ ├── SC2226.html │ │ ├── SC2226.json │ │ ├── SC2227.html │ │ ├── SC2227.json │ │ ├── SC2229.html │ │ ├── SC2229.json │ │ ├── SC2230.html │ │ ├── SC2230.json │ │ ├── SC2231.html │ │ ├── SC2231.json │ │ ├── SC2232.html │ │ ├── SC2232.json │ │ ├── SC2233.html │ │ ├── SC2233.json │ │ ├── SC2234.html │ │ ├── SC2234.json │ │ ├── SC2235.html │ │ ├── SC2235.json │ │ ├── SC2236.html │ │ ├── SC2236.json │ │ ├── SC2237.html │ │ ├── SC2237.json │ │ ├── SC2238.html │ │ ├── SC2238.json │ │ ├── SC2239.html │ │ ├── SC2239.json │ │ ├── SC2240.html │ │ ├── SC2240.json │ │ ├── SC2241.html │ │ ├── SC2241.json │ │ ├── SC2242.html │ │ ├── SC2242.json │ │ ├── SC2243.html │ │ ├── SC2243.json │ │ ├── SC2244.html │ │ ├── SC2244.json │ │ ├── SC2245.html │ │ ├── SC2245.json │ │ ├── SC2246.html │ │ ├── SC2246.json │ │ ├── SC2247.html │ │ ├── SC2247.json │ │ ├── SC2248.html │ │ ├── SC2248.json │ │ ├── SC2249.html │ │ ├── SC2249.json │ │ ├── SC2250.html │ │ ├── SC2250.json │ │ ├── SC2251.html │ │ ├── SC2251.json │ │ ├── SC2252.html │ │ ├── SC2252.json │ │ ├── SC2253.html │ │ ├── SC2253.json │ │ ├── SC2254.html │ │ ├── SC2254.json │ │ ├── SC2255.html │ │ ├── SC2255.json │ │ ├── SC2256.html │ │ ├── SC2256.json │ │ ├── SC2257.html │ │ ├── SC2257.json │ │ ├── SC2258.html │ │ ├── SC2258.json │ │ ├── SC2259.html │ │ ├── SC2259.json │ │ ├── SC2260.html │ │ ├── SC2260.json │ │ ├── SC2261.html │ │ ├── SC2261.json │ │ ├── SC2262.html │ │ ├── SC2262.json │ │ ├── SC2263.html │ │ ├── SC2263.json │ │ ├── SC2264.html │ │ ├── SC2264.json │ │ ├── SC2265.html │ │ ├── SC2265.json │ │ ├── SC2266.html │ │ ├── SC2266.json │ │ ├── SC2267.html │ │ ├── SC2267.json │ │ ├── SC2268.html │ │ ├── SC2268.json │ │ ├── SC2269.html │ │ ├── SC2269.json │ │ ├── SC2270.html │ │ ├── SC2270.json │ │ ├── SC2271.html │ │ ├── SC2271.json │ │ ├── SC2272.html │ │ ├── SC2272.json │ │ ├── SC2273.html │ │ ├── SC2273.json │ │ ├── SC2274.html │ │ ├── SC2274.json │ │ ├── SC2275.html │ │ ├── SC2275.json │ │ ├── SC2276.html │ │ ├── SC2276.json │ │ ├── SC2277.html │ │ ├── SC2277.json │ │ ├── SC2278.html │ │ ├── SC2278.json │ │ ├── SC2279.html │ │ ├── SC2279.json │ │ ├── SC2280.html │ │ ├── SC2280.json │ │ ├── SC2281.html │ │ ├── SC2281.json │ │ ├── SC2282.html │ │ ├── SC2282.json │ │ ├── SC2283.html │ │ ├── SC2283.json │ │ ├── SC2284.html │ │ ├── SC2284.json │ │ ├── SC2285.html │ │ ├── SC2285.json │ │ ├── SC2286.html │ │ ├── SC2286.json │ │ ├── SC2287.html │ │ ├── SC2287.json │ │ ├── SC2288.html │ │ ├── SC2288.json │ │ ├── SC2289.html │ │ ├── SC2289.json │ │ ├── SC2290.html │ │ ├── SC2290.json │ │ ├── SC2291.html │ │ ├── SC2291.json │ │ ├── SC2292.html │ │ ├── SC2292.json │ │ ├── SC2293.html │ │ ├── SC2293.json │ │ ├── SC2294.html │ │ ├── SC2294.json │ │ ├── SC2295.html │ │ ├── SC2295.json │ │ ├── SC2296.html │ │ ├── SC2296.json │ │ ├── SC2297.html │ │ ├── SC2297.json │ │ ├── SC2298.html │ │ ├── SC2298.json │ │ ├── SC2299.html │ │ ├── SC2299.json │ │ ├── SC2300.html │ │ ├── SC2300.json │ │ ├── SC2301.html │ │ ├── SC2301.json │ │ ├── SC2302.html │ │ ├── SC2302.json │ │ ├── SC2303.html │ │ ├── SC2303.json │ │ ├── SC2304.html │ │ ├── SC2304.json │ │ ├── SC2305.html │ │ ├── SC2305.json │ │ ├── SC2306.html │ │ ├── SC2306.json │ │ ├── SC2307.html │ │ ├── SC2307.json │ │ ├── SC2308.html │ │ ├── SC2308.json │ │ ├── SC2309.html │ │ ├── SC2309.json │ │ ├── SC2310.html │ │ ├── SC2310.json │ │ ├── SC2311.html │ │ ├── SC2311.json │ │ ├── SC2312.html │ │ ├── SC2312.json │ │ ├── SC2313.html │ │ ├── SC2313.json │ │ ├── SC2314.html │ │ ├── SC2314.json │ │ ├── SC2315.html │ │ ├── SC2315.json │ │ ├── SC3001.html │ │ ├── SC3001.json │ │ ├── SC3002.html │ │ ├── SC3002.json │ │ ├── SC3003.html │ │ ├── SC3003.json │ │ ├── SC3004.html │ │ ├── SC3004.json │ │ ├── SC3005.html │ │ ├── SC3005.json │ │ ├── SC3006.html │ │ ├── SC3006.json │ │ ├── SC3007.html │ │ ├── SC3007.json │ │ ├── SC3008.html │ │ ├── SC3008.json │ │ ├── SC3009.html │ │ ├── SC3009.json │ │ ├── SC3010.html │ │ ├── SC3010.json │ │ ├── SC3011.html │ │ ├── SC3011.json │ │ ├── SC3012.html │ │ ├── SC3012.json │ │ ├── SC3013.html │ │ ├── SC3013.json │ │ ├── SC3014.html │ │ ├── SC3014.json │ │ ├── SC3015.html │ │ ├── SC3015.json │ │ ├── SC3016.html │ │ ├── SC3016.json │ │ ├── SC3017.html │ │ ├── SC3017.json │ │ ├── SC3018.html │ │ ├── SC3018.json │ │ ├── SC3019.html │ │ ├── SC3019.json │ │ ├── SC3020.html │ │ ├── SC3020.json │ │ ├── SC3021.html │ │ ├── SC3021.json │ │ ├── SC3022.html │ │ ├── SC3022.json │ │ ├── SC3023.html │ │ ├── SC3023.json │ │ ├── SC3024.html │ │ ├── SC3024.json │ │ ├── SC3025.html │ │ ├── SC3025.json │ │ ├── SC3026.html │ │ ├── SC3026.json │ │ ├── SC3028.html │ │ ├── SC3028.json │ │ ├── SC3029.html │ │ ├── SC3029.json │ │ ├── SC3030.html │ │ ├── SC3030.json │ │ ├── SC3031.html │ │ ├── SC3031.json │ │ ├── SC3032.html │ │ ├── SC3032.json │ │ ├── SC3033.html │ │ ├── SC3033.json │ │ ├── SC3034.html │ │ ├── SC3034.json │ │ ├── SC3035.html │ │ ├── SC3035.json │ │ ├── SC3036.html │ │ ├── SC3036.json │ │ ├── SC3037.html │ │ ├── SC3037.json │ │ ├── SC3038.html │ │ ├── SC3038.json │ │ ├── SC3039.html │ │ ├── SC3039.json │ │ ├── SC3040.html │ │ ├── SC3040.json │ │ ├── SC3041.html │ │ ├── SC3041.json │ │ ├── SC3042.html │ │ ├── SC3042.json │ │ ├── SC3043.html │ │ ├── SC3043.json │ │ ├── SC3044.html │ │ ├── SC3044.json │ │ ├── SC3045.html │ │ ├── SC3045.json │ │ ├── SC3046.html │ │ ├── SC3046.json │ │ ├── SC3047.html │ │ ├── SC3047.json │ │ ├── SC3048.html │ │ ├── SC3048.json │ │ ├── SC3049.html │ │ ├── SC3049.json │ │ ├── SC3050.html │ │ ├── SC3050.json │ │ ├── SC3051.html │ │ ├── SC3051.json │ │ ├── SC3052.html │ │ ├── SC3052.json │ │ ├── SC3053.html │ │ ├── SC3053.json │ │ ├── SC3054.html │ │ ├── SC3054.json │ │ ├── SC3055.html │ │ ├── SC3055.json │ │ ├── SC3056.html │ │ ├── SC3056.json │ │ ├── SC3057.html │ │ ├── SC3057.json │ │ ├── SC3058.html │ │ ├── SC3058.json │ │ ├── SC3059.html │ │ ├── SC3059.json │ │ ├── SC3060.html │ │ └── SC3060.json └── scripts │ ├── README.md │ ├── build_checks.py │ ├── build_checks.sh │ ├── build_checks.yml │ ├── get_checks.cmd │ └── get_checks.sh └── test ├── java └── com │ └── github │ └── sbaudoin │ └── sonar │ └── plugins │ └── shellcheck │ ├── ShellCheckPluginTest.java │ ├── Utils.java │ ├── checks │ └── CheckRepositoryTest.java │ ├── highlighting │ ├── HighlightingDataTest.java │ ├── ShellHighlightingTest.java │ └── ShellLocationTest.java │ ├── languages │ ├── ShellLanguageTest.java │ └── ShellQualityProfileTest.java │ ├── lexer │ ├── BashLexerTest.java │ ├── HeredocLexingStateTest.java │ ├── HeredocSharedImplTest.java │ ├── StringLexingstateTest.java │ └── TokenTest.java │ ├── measures │ ├── LineCountDataTest.java │ └── LineCounterTest.java │ ├── rules │ ├── ShellCheckRulesDefinitionTest.java │ ├── ShellCheckSensorNoRuleTest.java │ └── ShellCheckSensorTest.java │ ├── settings │ └── ShellCheckSettingsTest.java │ └── util │ └── FileSystemTest.java └── resources ├── org └── sonar │ └── l10n │ └── shellcheck │ └── rules │ └── shellcheck │ ├── rule1.html │ ├── rule1.json │ └── rule2.json ├── scripts ├── echo.cmd ├── echo.sh ├── shellcheck-version.cmd ├── shellcheck-version.sh ├── shellcheck1.cmd ├── shellcheck1.sh ├── shellcheck2.cmd ├── shellcheck2.sh ├── shellcheck3.cmd ├── shellcheck3.sh ├── shellcheck4.cmd └── shellcheck4.sh ├── test1.sh ├── test2.sh ├── test3.sh ├── test4.sh └── test5.sh /.gitattributes: -------------------------------------------------------------------------------- 1 | it/** text eol=lf 2 | **/*.sh text eol=lf 3 | **/*.py text eol=lf 4 | **/*.html text eol=lf 5 | **/*.json text eol=lf 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | target/ 3 | *.iml 4 | *.java~ -------------------------------------------------------------------------------- /it/Dockerfile-auditor: -------------------------------------------------------------------------------- 1 | ARG JDK_VERSION=8 2 | FROM openjdk:${JDK_VERSION} 3 | COPY it /usr/src/myapp/it 4 | WORKDIR /usr/src/myapp/it 5 | -------------------------------------------------------------------------------- /it/sonar-project.properties: -------------------------------------------------------------------------------- 1 | sonar.projectKey=my:project 2 | sonar.projectName=ShellCheck 3 | sonar.projectVersion=1.0 4 | sonar.sources=src 5 | sonar.scm.disabled=True 6 | sonar.login=admin 7 | sonar.password=admin 8 | -------------------------------------------------------------------------------- /it/src/test1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FOO=ls /tmp 4 | 5 | echo $1 6 | eval $FOO 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1000.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "$ is not used specially and should therefore be escaped.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1001.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This \\o will be a regular 'o' in this context.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1003.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Want to escape a single quote? echo 'This is how it'\\''s done'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1009.html: -------------------------------------------------------------------------------- 1 |
This info warning points to the start of what ShellCheck was parsing when it failed. See [[Parser error]] for example and information.
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1009.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "The mentioned parser error was in ...", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1010.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use semicolon or linefeed before 'done' (or quote to make it literal).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1011.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This apostrophe terminated the single quoted string!", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1012.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "\\t is just literal t here. For tab, use '$(printf '\\t')' instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1013.html: -------------------------------------------------------------------------------- 1 |Bash requires ; or \n here, after redirecting nested compound commands.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1013.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Bash requires ; or \\n here, after redirecting nested compound commands.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1017.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Literal carriage return. Run script through tr -d '\\r' .", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1018.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This is a unicode non-breaking space. Delete it and retype as space.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1019.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected this to be an argument to the unary condition.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1020.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a space before the ']' or ']]'", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1021.html: -------------------------------------------------------------------------------- 1 |You need a space before the \)
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1021.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a space before the \\)", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1026.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "If grouping expressions inside [[..]], use ( .. ).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1027.html: -------------------------------------------------------------------------------- 1 |Expected another argument for this operator.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1027.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected another argument for this operator.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1028.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In [..] you have to escape \\( \\) or preferably combine [..] expressions.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1029.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In [[..]] you shouldn't escape ( or ).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1034.html: -------------------------------------------------------------------------------- 1 |Test expression was opened with double [
but closed with single ]]
. Make sure they match.
2 | See similar error [[SC1033]]
Found end token `EOF' further down, but with wrong casing.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1043.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Found end token `EOF' further down, but with wrong casing.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1044.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Couldn't find end token `EOF' in the here document.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1045.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "It's not 'foo &; bar', just 'foo & bar'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1046.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Couldn't find 'fi' for this 'if'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1047.html: -------------------------------------------------------------------------------- 1 |"Expected 'fi' matching previously mentioned 'if'.
2 |See companion warning [[SC1046]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1047.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "'Expected 'fi' matching previously mentioned 'if'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1048.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Can't have empty then clauses (use 'true' as a no-op).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1049.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Did you forget the 'then' for this 'if'?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1050.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected 'then'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1051.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Semicolons directly after 'then' are not allowed. Just remove it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1052.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Semicolons directly after 'then' are not allowed. Just remove it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1053.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Semicolons directly after 'else' are not allowed. Just remove it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1054.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a space after the '{'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1055.html: -------------------------------------------------------------------------------- 1 |You need at least one command here. Use 'true;' as a no-op.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1055.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need at least one command here. Use 'true;' as a no-op.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1056.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected a '}'. If you have one, try a ; or \\n in front of it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1057.html: -------------------------------------------------------------------------------- 1 |Did you forget the 'do' for this loop?
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1057.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Did you forget the 'do' for this loop?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1058.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected do.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1059.html: -------------------------------------------------------------------------------- 1 |No semicolons directly after 'do'.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1059.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "No semicolons directly after 'do'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1060.html: -------------------------------------------------------------------------------- 1 |Can't have empty do clauses (use 'true' as a no-op).
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1060.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Can't have empty do clauses (use 'true' as a no-op).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1061.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Couldn't find 'done' for this 'do'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1062.html: -------------------------------------------------------------------------------- 1 |Expected 'done' matching previously mentioned 'do'.
2 |See companion warning [[SC1061]]
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1062.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected 'done' matching previously mentioned 'do'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1063.html: -------------------------------------------------------------------------------- 1 |You need a line feed or semicolon before the 'do'.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1063.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a line feed or semicolon before the 'do'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1064.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expected a { to open the function definition.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1066.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't use $ on the left side of assignments.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1068.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't put spaces around the = in assignments.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1069.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a space before the [.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1070.html: -------------------------------------------------------------------------------- 1 |Parsing stopped here. Mismatched keywords or invalid parentheses?
2 |Shellcheck found a syntax error at the indicated location. Barring a bug in Shellcheck itself, your shell will also crash with a syntax error at the same location, so you cannot ignore this check.
4 |None.
6 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1070.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parsing stopped here. Mismatched keywords or invalid parentheses?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1071.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "ShellCheck only supports sh\/bash\/dash\/ksh scripts. Sorry!", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1072.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Unexpected ..", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1073.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Couldn't parse this (thing). Fix to allow more checks.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1074.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Did you forget the ;; after the previous case item?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1075.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use 'elif' instead of 'else if'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1076.html: -------------------------------------------------------------------------------- 1 |Trying to do math? Use e.g. [ $((i/2+7)) -ge 18 ] or [[ $((i/2+7)) -ge 18 ]].
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1077.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "For command expansion, the tick should slant left (` vs \u00b4).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1078.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Did you forget to close this double quoted string?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1079.html: -------------------------------------------------------------------------------- 1 |This is actually an end quote, but due to next char it looks suspect.
2 |See companion warning [[SC1078]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1079.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This is actually an end quote, but due to next char it looks suspect.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1080.html: -------------------------------------------------------------------------------- 1 |You need \ before line feeds to break lines in [ ].
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1080.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need \\ before line feeds to break lines in [ ].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1081.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Scripts are case sensitive. Use 'if', not 'If'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1083.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This {\/} is literal. Check if ; is missing or quote the expression.", 3 | "type": "BUG", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1084.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use #!, not !#, for the shebang.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1085.html: -------------------------------------------------------------------------------- 1 |Did you forget to move the ;; after extending this case item?
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1085.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Did you forget to move the ;; after extending this case item?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1086.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't use $ on the iterator name in for loops.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1088.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parsing stopped here. Invalid use of parentheses?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1089.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parsing stopped here. Is this keyword correctly matched up?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1090.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Can't follow non-constant source. Use a directive to specify location.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1091.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Not following: (error message here)", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1092.html: -------------------------------------------------------------------------------- 1 |Stopping at 100 'source' frames :O
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1092.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Stopping at 100 'source' frames :O", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1093.html: -------------------------------------------------------------------------------- 1 |This file appears to be recursively sourced. Ignoring.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1093.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This file appears to be recursively sourced. Ignoring.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1094.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parsing of sourced file failed. Ignoring it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1095.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a space or linefeed between the function name and body.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1097.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Unexpected ==. For assignment, use =. For comparison, use [\/[[.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1098.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote\/escape special characters when using eval, e.g. eval 'a=(b)'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1099.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need a space before the #.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1100.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This is a unicode dash. Delete and retype as ASCII minus.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1103.html: -------------------------------------------------------------------------------- 1 |This shell type is unknown. Use e.g. sh or bash.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1103.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This shell type is unknown. Use e.g. sh or bash.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1104.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use #!, not just !, for the shebang.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1105.html: -------------------------------------------------------------------------------- 1 |Shells disambiguate (( differently or not at all. If the first ( should start a subshell, add a space after it.
2 |See [[SC1102]], the similar warning for ambiguous $((
.
Parse error: failed to process file.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1134.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parse error: failed to process file.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1136.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Unexpected characters after terminating ]. Missing semicolon\/linefeed?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1137.html: -------------------------------------------------------------------------------- 1 |Missing second '(' or ')' to start arithmetic or terminate the condition of the 'for ((;;))' loop
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1138.html: -------------------------------------------------------------------------------- 1 |Remove spaces in arithmetic for loop.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1138.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Remove spaces in arithmetic for loop.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1139.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use || instead of '-o' between test commands.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1143.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This backslash is part of a comment and does not continue the line.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1144.html: -------------------------------------------------------------------------------- 1 |external-sources can only be enabled in .shellcheckrc, not in individual files.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1145.html: -------------------------------------------------------------------------------- 1 |Unknown external-sources value. Expected true/false.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC1145.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Unknown external-sources value. Expected true\/false.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2000.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "See if you can use ${#variable} instead", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2001.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "SC2001: See if you can use ${variable\/\/search\/replace} instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2002.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2003.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "expr is antiquated. Consider rewriting this using $((..)), ${} or [[ ]].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2004.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "$\/${} is unnecessary on arithmetic variables.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2005.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Useless echo? Instead of echo $(cmd), just use cmd", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2006.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use $(...) notation instead of legacy backticked `...`.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2007.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use $((..)) instead of deprecated $[..]", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2008.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "echo doesn't read from stdin, are you sure you should be piping to it?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2009.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "SC2009 Consider using pgrep instead of grepping ps output.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2012.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use find instead of ls to better handle non-alphanumeric filenames.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2013.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "To read lines rather than words, pipe\/redirect to a 'while read' loop.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2014.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This will expand once before find runs, not per file found.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2016.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Expressions don't expand in single quotes, use double quotes for that.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2017.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Increase precision by replacing a\/b*c with a*c\/b.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2018.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use '[:lower:]' to support accents and foreign alphabets.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2019.html: -------------------------------------------------------------------------------- 1 |Use '[:upper:]' to support accents and foreign alphabets.
2 |See the equivalent warning for lowercase matching: [[SC2018]]
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use '[:upper:]' to support accents and foreign alphabets.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "tr replaces sets of chars, not words (mentioned due to duplicates).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't use [] around ranges in tr, it replaces literal square brackets.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Note that unlike globs, o* here matches 'ooo' but not 'oscar'", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2023.html: -------------------------------------------------------------------------------- 1 |The shell may override 'time' as seen in man time(1). Use 'command time ..' for that one.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "sudo doesn't affect redirects. Use ..| sudo tee file", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2027.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "The surrounding quotes actually unquote this. Remove or escape them.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2028.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "echo won't expand escape sequences. Consider printf.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2029.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Note that, unescaped, this expands on the client side.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2030.html: -------------------------------------------------------------------------------- 1 |See companion warning [[SC2031]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2030.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Modification of var is local (to subshell caused by pipeline).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2031.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "var was modified in a subshell. That change might be lost.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2032.html: -------------------------------------------------------------------------------- 1 |(or from xargs, sudo, chroot, or other commands)
3 |See [[SC2033]].
4 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2032.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use own script or sh -c '..' to run this from su.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2033.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Shell functions can't be passed to external commands.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2034.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "foo appears unused. Verify it or export it.", 3 | "type": "BUG", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2035.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use .\/*glob or -- \\glob* so names with dashes won't become options.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2036.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "If you wanted to assign the output of the pipeline, use a=$(b | c) .", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2037.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "To assign the output of a command, use var=$(cmd) .", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2038.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use -print0\/-0 or find -exec + to allow for non-alphanumeric filenames.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2039.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, something is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2042.html: -------------------------------------------------------------------------------- 1 |Use spaces, not commas, to separate loop elements.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2042.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use spaces, not commas, to separate loop elements.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2045.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Iterating over ls output is fragile. Use globs.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2046.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote this to prevent word splitting.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2048.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use '$@' (with quotes) to prevent whitespace problems.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2049.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "=~ is for regex, but this looks like a glob. Use = instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2050.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This expression is constant. Did you forget the $ on a variable?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2051.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Bash doesn't support variables in brace range expansions.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2053.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote the rhs of = in [[ ]] to prevent glob matching.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2054.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use spaces, not commas, to separate array elements.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2055.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You probably wanted && here, otherwise it's always true.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2056.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You probably wanted && here", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2057.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Unknown binary operator.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2058.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Unknown unary operator.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2060.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote parameters to tr to prevent glob expansion.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2061.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote the parameter to -name so the shell won't interpret it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2062.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote the grep pattern so the shell won't interpret it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2063.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Grep uses regex, but this looks like a glob.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2064.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use single quotes, otherwise this expands now rather than when signalled.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2065.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This is interpreted as a shell file redirection, not a comparison.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2068.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Double quote array expansions to avoid re-splitting elements.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2070.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "-n doesn't work with unquoted arguments. Quote or use [[ ]].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2071.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "is for string comparisons. Use -gt instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2073.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Escape \\< to prevent it redirecting (or switch to [[ .. ]]).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2074.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Can't use =~ in [ ]. Use [[..]] instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2075.html: -------------------------------------------------------------------------------- 1 |Escaping \< and \> is required in [..], but invalid in [[..]]
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2075.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Escaping \\< and \\> is required in [..], but invalid in [[..]]", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2076.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't quote rhs of =~, it'll match literally rather than as a regex.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2077.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You need spaces around the comparison operator.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2078.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This expression is constant. Did you forget a $ somewhere?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2079.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "(( )) doesn't support decimals. Use bc or awk.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2080.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Numbers with leading 0 are considered octal.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2081.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "[ .. ] can't match globs. Use [[ .. ]] or grep.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2082.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "To expand via indirection, use name='foo$n'; echo '${!name}'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2083.html: -------------------------------------------------------------------------------- 1 |Don't add spaces after the slash in './file'.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2083.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't add spaces after the slash in '.\/file'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2084.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Remove '$' or use '_=$((expr))' to avoid executing output.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2086.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Double quote to prevent globbing and word splitting.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2088.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Tilde does not expand in quotes. Use $HOME.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2089.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quotes\/backslashes will be treated literally. Use an array.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2090.html: -------------------------------------------------------------------------------- 1 |See companion warning, [[SC2089]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2090.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quotes\/backslashes in this variable will not be respected.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2092.html: -------------------------------------------------------------------------------- 1 |Remove backticks to avoid executing output.
2 |Backticks does the same thing as $(..)
. See [[SC2091]] for a description of the same problem with this syntax.
This expansion will not see the mentioned assignment.
2 |See companion warning [[SC2097]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2098.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This expansion will not see the mentioned assignment.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2099.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use $((..)) for arithmetics, e.g. i=$((i + 2))", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2100.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use $((..)) for arithmetics, e.g. i=$((i + 2))", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2101.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Named class needs outer [], e.g. [[:digit:]].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2102.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Ranges can only match single chars (mentioned due to duplicates).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2103.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use a ( subshell ) to avoid having to cd back.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2104.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In functions, use return instead of break.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2105.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "break is only valid in loops", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2106.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "SC2106: This only exits the subshell caused by the pipeline.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2107.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Instead of [ a && b ], use [ a ] && [ b ].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2108.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In [[..]], use && instead of -a.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2109.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Instead of [ a || b ], use [ a ] || [ b ].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2110.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In [[..]], use || instead of -o.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2111.html: -------------------------------------------------------------------------------- 1 |ksh does not allow 'function' keyword and '()' at the same time.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2111.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "ksh does not allow 'function' keyword and '()' at the same time.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2112.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "'function' keyword is non-standard. Delete it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2113.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "function keyword is non-standard. Use foo() instead of function foo.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2114.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Warning: deletes a system directory.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2115.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use '${var:?}' to ensure this never expands to \/* .", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2116.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "SC2116 Useless echo? Instead of 'cmd $(echo foo)', just use 'cmd foo'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2117.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "To run commands as another user, use su -c or sudo.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2118.html: -------------------------------------------------------------------------------- 1 |Ksh does not support |&. Use 2>&1 |.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2118.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Ksh does not support |&. Use 2>&1 |.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2119.html: -------------------------------------------------------------------------------- 1 |See companion warning [[SC2120]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2119.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use foo '$@' if function's $1 should mean script's $1.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2120.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "foo references arguments, but none are ever passed.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2121.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "To assign a variable, use just 'var=value', no 'set ..'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2122.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "= is not a valid operator. Use '! a < b' instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2123.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "PATH is the shell search path. Use another name.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2126.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Consider using grep -c instead of grep | wc", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2127.html: -------------------------------------------------------------------------------- 1 |To use cases with ;&
, specify #!/usr/bin/env bash
or #!/usr/bin/env ksh
.
To use cases with ;;&
, specify #!/usr/bin/env bash
.
To use ${ ..; }
command expansion, specify #!/usr/bin/env ksh
.
This parent loop has its index variable overridden.
2 |See companion warning [[SC2165]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2167.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This parent loop has its index variable overridden.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2168.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "'local' is only valid in functions.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2169.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In dash, something is not supported.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2171.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Found trailing ] outside test. Add missing [ or quote if intentional.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2172.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Trapping signals by number is not well defined. Prefer signal names.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2173.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "SIGKILL\/SIGSTOP can not be trapped.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2174.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "When used with -p, -m only applies to the deepest directory.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2176.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "'time' is undefined for pipelines. time single stage or bash -c instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2177.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "'time' is undefined for compound commands, use time sh -c instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2178.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Variable was used as an array but is now assigned a string.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2179.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use array+=('item') to append items to an array.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2181.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2183.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This format string has 2 variables, but is passed 1 arguments.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2184.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote arguments to unset so they're not glob expanded.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2185.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Some finds don't have a default path. Specify '.' explicitly.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2186.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "tempfile is deprecated. Use mktemp instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2190.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Elements in associative arrays need index, e.g. array=( [index]=value ) .", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2194.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This word is constant. Did you forget the $ on a variable?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2196.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "egrep is non-standard and deprecated. Use grep -E instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2197.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "fgrep is non-standard and deprecated. Use grep -F instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2200.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Brace expansions don't work as operands in [ ]. Use a loop.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2201.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Brace expansion doesn't happen in [[ ]]. Use a loop.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2202.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Globs don't work as operands in [ ]. Use a loop.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2203.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Globs are ignored in [[ ]] except right of =\/!=. Use a loop.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2204.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "(..) is a subshell. Did you mean [ .. ], a test expression?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2205.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "(..) is a subshell. Did you mean [ .. ], a test expression?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2208.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use [[ ]] or quote arguments to -v to avoid glob expansion.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2209.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use var=$(command) to assign output (or quote to assign string).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2212.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use 'false' instead of empty [\/[[ conditionals.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2213.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "getopts specified -n, but it's not handled by this 'case'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2214.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This case is not specified by getopts.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2215.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This flag is used as a command name. Bad line break or missing [ .. ]?", 3 | "type": "BUG", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2218.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This function is only defined later. Move the definition up.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2219.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Instead of let expr, prefer (( expr )) .", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2220.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Invalid flags are not handled. Add a *) case.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2221.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This pattern always overrides a later one.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2222.html: -------------------------------------------------------------------------------- 1 |This pattern never matches because of a previous pattern.
2 |See companion warning [[SC2221]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2222.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This pattern never matches because of a previous pattern.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2223.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This default assignment may cause DoS due to globbing. Quote it.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2224.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This mv has no destination. Check the arguments.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2225.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This cp has no destination. Check the arguments.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2230.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "which is non-standard. Use builtin 'command -v' instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2232.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Can't use sudo with builtins like cd. Did you want sudo sh -c .. instead?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2233.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Remove superfluous (..) around condition to avoid subshell overhead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2234.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Remove superfluous (..) around test command to avoid subshell overhead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2235.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use { ..; } instead of (..) to avoid subshell overhead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2236.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use -n instead of ! -z.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2237.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use [ -n .. ] instead of ! [ -z .. ].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2239.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Ensure the shebang uses the absolute path to the interpreter.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2246.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This shebang specifies a directory. Ensure the interpreter is a file.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2247.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Flip leading $ and ' if this should be a quoted substitution.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2248.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Warn about variable references without braces.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2249.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Consider adding a default *) case, even if it just exits with error.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2252.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "You probably wanted && here, otherwise it's always true.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2253.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use -R to recurse, or explicitly a-r to remove read permissions.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2258.html: -------------------------------------------------------------------------------- 1 |The trailing comma is part of the value, not a separator. Delete or quote it.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2263.html: -------------------------------------------------------------------------------- 1 |Since they're in the same parsing unit, this command will not refer to the previously mentioned alias. 2 | See companion warning [[SC2262]]
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2264.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This function unconditionally re-invokes itself. Missing command?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2265.html: -------------------------------------------------------------------------------- 1 |Use && for logical AND. Single & will background and return true.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2265.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use && for logical AND. Single & will background and return true.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2266.html: -------------------------------------------------------------------------------- 1 |Use || for logical OR. Single | will pipe.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2266.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use || for logical OR. Single | will pipe.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2267.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "GNU xargs -i is deprecated in favor of -I{}", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2268.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Avoid x-prefix in comparisons as it no longer serves a purpose.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2269.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This variable is assigned to itself, so the assignment does nothing.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2272.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Command name contains ==. For comparison, use [ '$var' = value ].", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2274.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Command name starts with ===. Intended as a commented border?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2275.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Command name starts with =. Bad line break?", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2277.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use BASH_ARGV0 to assign to $0 in bash (or use [ ] to compare).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2278.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "$0 can't be assigned in Ksh (but it does reflect the current function).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2279.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "$0 can't be assigned in Dash. This becomes a command name.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2280.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "$0 can't be assigned this way, and there is no portable alternative.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2281.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Don't use $\/${} on the left side of assignments.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2284.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Use [ x = y ] to compare values (or quote '==' if literal).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2285.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Remove spaces around += to assign (or quote '+=' if literal).", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2290.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Remove spaces around = to assign.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2291.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote repeated spaces to avoid them collapsing into one.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2292.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Prefer [[ ]] over [ ] for tests in Bash\/Ksh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2293.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "When eval'ing @Q-quoted words, use * rather than @ as the index.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2296.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parameter expansions can't start with {. Double check syntax.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2297.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Double quotes must be outside ${}: ${'invalid'} vs '${valid}'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2299.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parameter expansions can't be nested. Use temporary variables.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2301.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Parameter expansion starts with unexpected quotes. Double check syntax.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Blocker" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2302.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "This loops over values. To loop over keys, use '${!array[@]}'.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2303.html: -------------------------------------------------------------------------------- 1 |i
is an array value, not a key. Use directly or loop over keys instead.
See companion warning [[SC2302]]
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2303.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "i is an array value, not a key. Use directly or loop over keys instead.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2305.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote regex argument to expr to avoid it expanding as a glob.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2306.html: -------------------------------------------------------------------------------- 1 |Escape glob characters in arguments to expr to avoid pathname expansion.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2306.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Escape glob characters in arguments to expr to avoid pathname expansion.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2308.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "expr length has unspecified results. Prefer ${#var}.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Info" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2313.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Quote array indices to avoid them expanding as globs.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC2314.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In bats, ! does not cause a test failure", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3001.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, process substitution is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3002.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, extglob is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3003.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, $'..' is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3004.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, $'..' is undefined", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3005.html: -------------------------------------------------------------------------------- 1 |arithmetic for loops are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3005.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "arithmetic for loops are not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3006.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, standalone ((..)) is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3007.html: -------------------------------------------------------------------------------- 1 |$[..] in place of $((..)) is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3008.html: -------------------------------------------------------------------------------- 1 |select loops are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3008.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "select loops are not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3009.html: -------------------------------------------------------------------------------- 1 |brace expansion is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3009.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "brace expansion is not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3010.html: -------------------------------------------------------------------------------- 1 |In POSIX sh, [[ ]] is undefined.
2 |
3 | POSIX sh uses [ ]
instead. To see the limitations/differences, view http://mywiki.wooledge.org/BashFAQ/031
here-strings are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3011.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "here-strings are not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3012.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, lexicographical \\< is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3013.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, -nt is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3014.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, == in place of = is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3015.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, =~ regex matching is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3016.html: -------------------------------------------------------------------------------- 1 |unary -v (in place of [ -n "${var+x}" ]) is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3017.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, unary -a in place of -e is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3018.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, ++ is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3019.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, exponentials are undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3020.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, &> is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3021.html: -------------------------------------------------------------------------------- 1 |In POSIX sh, >&
is undefined.
2 | See similar warning [[SC3020]]
|& in place of 2>&1 | is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3029.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "|& in place of 2>&1 | is not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3030.html: -------------------------------------------------------------------------------- 1 |arrays are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3030.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "arrays are not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3031.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, redirecting from\/to globs is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3032.html: -------------------------------------------------------------------------------- 1 |coproc is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3032.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "coproc is not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3033.html: -------------------------------------------------------------------------------- 1 |naming functions outside [a-zA-Z_][a-zA-Z0-9_]* is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3034.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, $(<file) is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3035.html: -------------------------------------------------------------------------------- 1 |In POSIX sh, `<file`
is undefined.
2 | See equivalent warning [[SC3034]]
echo flags besides -n are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3037.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, echo flags are undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3038.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, exec flags are undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3039.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, 'let' is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3040.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, set option pipefail is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3041.html: -------------------------------------------------------------------------------- 1 |only set flags -a, -b, -C, -e, -f, -h, -m, -n, -u, -v, -x, -o are supported in dash or defined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3042.html: -------------------------------------------------------------------------------- 1 |double-dashed set flags are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3043.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, local is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3044.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, declare is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3045.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, some-command-with-flag is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3046.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, source in place of . is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3047.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, trapping ERR is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3048.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, prefixing signal names with 'SIG' is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3049.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, using lower\/mixed case for signal names is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3050.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, printf %q is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3051.html: -------------------------------------------------------------------------------- 1 |'source' in place of '.' is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3052.html: -------------------------------------------------------------------------------- 1 |arithmetic base conversion is not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3053.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, indirect expansion is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3054.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, array references are undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3055.html: -------------------------------------------------------------------------------- 1 |In POSIX sh, array key expansion is undefined. 2 | See similar array warning [[SC3054]].
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3055.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, array key expansion is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3056.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, name matching prefixes are undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3057.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, string indexing is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3058.html: -------------------------------------------------------------------------------- 1 |string operations on $@/$* are not supported in dash and undefined in POSIX sh.
-------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3059.html: -------------------------------------------------------------------------------- 1 |Case modification is not supported in dash and undefined in POSIX sh.
2 |https://github.com/sbaudoin/sonar-shellcheck/blob/master/src/main/scripts/build_checks.yml
3 | -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3059.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Case modification is not supported in dash and undefined in POSIX sh.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/resources/org/sonar/l10n/shellcheck/rules/shellcheck/SC3060.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "In POSIX sh, string replacement is undefined.", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "convention" 12 | ], 13 | "defaultSeverity": "Major" 14 | } -------------------------------------------------------------------------------- /src/main/scripts/get_checks.cmd: -------------------------------------------------------------------------------- 1 | SET PWD=%cd% 2 | MKDIR %~dp0\..\resources\org\sonar\l10n\shellcheck\rules\shellcheck 3 | DEL /S /Q %~dp0\..\resources\org\sonar\l10n\shellcheck\rules\shellcheck 4 | docker run --rm -v %PWD%\..:/mnt python:3.7-alpine3.12 sh /mnt/scripts/build_checks.sh /mnt/resources/org/sonar/l10n/shellcheck/rules/shellcheck 5 | -------------------------------------------------------------------------------- /src/main/scripts/get_checks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TARGET_DIR=org/sonar/l10n/shellcheck/rules/shellcheck 4 | mkdir -p `dirname $0`/../resources/$TARGET_DIR 5 | docker run --rm -v `pwd`/..:/mnt python:3.7-alpine3.12 sh /mnt/scripts/build_checks.sh /mnt/resources/$TARGET_DIR 6 | -------------------------------------------------------------------------------- /src/test/resources/org/sonar/l10n/shellcheck/rules/shellcheck/rule1.html: -------------------------------------------------------------------------------- 1 |You must have rules to check your scripts
-------------------------------------------------------------------------------- /src/test/resources/org/sonar/l10n/shellcheck/rules/shellcheck/rule1.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Any rule", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "formatting", 12 | "convention" 13 | ], 14 | "defaultSeverity": "Minor" 15 | } -------------------------------------------------------------------------------- /src/test/resources/org/sonar/l10n/shellcheck/rules/shellcheck/rule2.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Another rule", 3 | "type": "CODE_SMELL", 4 | "status": "ready", 5 | "remediation": { 6 | "func": "Constant\/Issue", 7 | "constantCost": "2min" 8 | }, 9 | "tags": [ 10 | "shell", 11 | "formatting", 12 | "convention" 13 | ], 14 | "defaultSeverity": "Minor" 15 | } -------------------------------------------------------------------------------- /src/test/resources/scripts/echo.cmd: -------------------------------------------------------------------------------- 1 | @echo %1 -------------------------------------------------------------------------------- /src/test/resources/scripts/echo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo $1 4 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck-version.cmd: -------------------------------------------------------------------------------- 1 | @echo ShellCheck - shell script analysis tool 2 | @echo version: my-version 3 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck-version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo 'ShellCheck - shell script analysis tool' 4 | echo 'version: my-version' 5 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck1.cmd: -------------------------------------------------------------------------------- 1 | @REM this is empty on purpose -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck2.cmd: -------------------------------------------------------------------------------- 1 | @java -version 2 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | java -version 4 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck3.cmd: -------------------------------------------------------------------------------- 1 | @echo [] 2 | @echo [] 3 | -------------------------------------------------------------------------------- /src/test/resources/scripts/shellcheck3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo [] 4 | echo [] 5 | -------------------------------------------------------------------------------- /src/test/resources/test1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FOO=ls /tmp 4 | 5 | echo $1 6 | eval $FOO 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/test2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Hello World!" 4 | 5 | -------------------------------------------------------------------------------- /src/test/resources/test3.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Hello World!" 4 | 5 | -------------------------------------------------------------------------------- /src/test/resources/test4.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Comment 4 | FOO=ls /tmp 5 | 6 | echo "foo bar" 7 | echo 'spam, bacon and egg' 8 | eval `$FOO` 9 | 10 | echo << EOF 11 | Foo 12 | # Bar 13 | EOF 14 | 15 | if [ $0 -ne 0 ] 16 | then 17 | echo 'Error' >&2 18 | exit 1 19 | fi 20 | -------------------------------------------------------------------------------- /src/test/resources/test5.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo 'Hello World!' &>> foo.log 4 | --------------------------------------------------------------------------------