ShellCheck 0.9 ಲಭ್ಯವಿದೆ, ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ ಸ್ಥಿರ ವಿಶ್ಲೇಷಕ

ShellCheck 0.9 ಪ್ರಾಜೆಕ್ಟ್‌ನ ಬಿಡುಗಡೆಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ, ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಇದು ಬ್ಯಾಷ್, sh, ksh ಮತ್ತು ಡ್ಯಾಶ್‌ನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಲ್ಲಿನ ದೋಷಗಳನ್ನು ಗುರುತಿಸುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ಹ್ಯಾಸ್ಕೆಲ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು GPLv3 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. Vim, Emacs, VSCode, Sublime, Atom ಮತ್ತು GCC-ಹೊಂದಾಣಿಕೆಯ ದೋಷ ವರದಿ ಮಾಡುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುವ ವಿವಿಧ ಚೌಕಟ್ಟುಗಳೊಂದಿಗೆ ಏಕೀಕರಣಕ್ಕಾಗಿ ಘಟಕಗಳನ್ನು ಒದಗಿಸಲಾಗಿದೆ.

ShellCheck 0.9 ಲಭ್ಯವಿದೆ, ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ ಸ್ಥಿರ ವಿಶ್ಲೇಷಕ

ಇದು ಕೋಡ್‌ನಲ್ಲಿನ ಸಿಂಟ್ಯಾಕ್ಸ್ ದೋಷಗಳೆರಡನ್ನೂ ಗುರುತಿಸುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಇಂಟರ್ಪ್ರಿಟರ್ ಮರಣದಂಡನೆಯ ಸಮಯದಲ್ಲಿ ದೋಷವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಶಬ್ದಾರ್ಥದ ಸಮಸ್ಯೆಗಳಿಂದಾಗಿ ಮರಣದಂಡನೆಯು ಅಡ್ಡಿಯಾಗುವುದಿಲ್ಲ, ಆದರೆ ಸ್ಕ್ರಿಪ್ಟ್‌ನ ನಡವಳಿಕೆಯಲ್ಲಿ ವೈಪರೀತ್ಯಗಳು ಸಂಭವಿಸುತ್ತವೆ. ವಿಶ್ಲೇಷಕವು ಅಡಚಣೆಗಳು, ಸ್ಪಷ್ಟವಲ್ಲದ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ವೈಫಲ್ಯಗಳಿಗೆ ಕಾರಣವಾಗುವ ಮೋಸಗಳನ್ನು ಸಹ ಗುರುತಿಸಬಹುದು.

ಪತ್ತೆಯಾದ ದೋಷಗಳ ವರ್ಗಗಳಲ್ಲಿ, ವಿಶೇಷ ಅಕ್ಷರಗಳಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳುವಲ್ಲಿ ಮತ್ತು ಅವುಗಳನ್ನು ಉಲ್ಲೇಖಗಳಲ್ಲಿ ರಚಿಸುವಲ್ಲಿನ ತೊಂದರೆಗಳು, ಷರತ್ತುಬದ್ಧ ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿನ ದೋಷಗಳು, ಆಜ್ಞೆಗಳ ತಪ್ಪಾದ ಬಳಕೆ, ಸಮಯ ಮತ್ತು ದಿನಾಂಕಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಆರಂಭಿಕರಿಗಾಗಿ ವಿಶಿಷ್ಟವಾದ ಸಿಂಟ್ಯಾಕ್ಸ್ ದೋಷಗಳನ್ನು ನಾವು ಗಮನಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, "[[ $foo==0 ]]" ಅನ್ನು ಹೋಲಿಸುವಾಗ ಸ್ಥಳಗಳ ಅನುಪಸ್ಥಿತಿ, "var = 42" ಸ್ಥಳಗಳ ಉಪಸ್ಥಿತಿ ಅಥವಾ "$foo=42" ಅನ್ನು ನಿಯೋಜಿಸುವಾಗ $ ಚಿಹ್ನೆಯ ಸೂಚನೆ, ವೇರಿಯಬಲ್‌ಗಳ ಬಳಕೆ "ಪ್ರತಿಧ್ವನಿ $1" ಉಲ್ಲೇಖಗಳಿಲ್ಲದೆ, "tr -cd '[a-zA-Z0-9]'" ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಚೌಕ ಆವರಣಗಳ ಸೂಚನೆ,

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಇದು ಕೋಡ್ ಶೈಲಿಯನ್ನು ಸುಧಾರಿಸಲು, ಪೋರ್ಟಬಿಲಿಟಿ ಸಮಸ್ಯೆಗಳನ್ನು ನಿವಾರಿಸಲು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಹೆಚ್ಚಿಸಲು ಶಿಫಾರಸುಗಳ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, "ಎಕೋ $[1+2]" ಬದಲಿಗೆ "$(..))" ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗುವುದು, ನಿರ್ಮಾಣ 'rm -rf "$STEAMROOT/"*' ಅನ್ನು ಅಸುರಕ್ಷಿತ ಎಂದು ಗುರುತಿಸಲಾಗುತ್ತದೆ. ಮತ್ತು ವೇರಿಯೇಬಲ್ $STEAMROOT ಅನ್ನು ತುಂಬದಿದ್ದರೆ ರೂಟ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಅಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು "echo {1..10}" ಬಳಕೆಯನ್ನು ಡ್ಯಾಶ್ ಮತ್ತು sh ನೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ ಎಂದು ಹೈಲೈಟ್ ಮಾಡಲಾಗುತ್ತದೆ.

ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ:

  • 'ಸ್ಥಳೀಯ ಓದಲು ಮಾತ್ರ ಫೂ' ನಂತಹ ಅಭಿವ್ಯಕ್ತಿಗಳಿಗೆ ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಲಭ್ಯವಿಲ್ಲದ ಆಜ್ಞೆಗಳ ಕುರಿತು ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • 'x=1 y=$x' ಎಂದು ಘೋಷಿಸಲು ಬ್ಯಾಕ್‌ಲಿಂಕ್‌ಗಳ ಕುರಿತು ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • $ ವೇಳೆ ಎಚ್ಚರಿಕೆ ಸೇರಿಸಲಾಗಿದೆ? ಪ್ರತಿಧ್ವನಿ, printf, [], [[ ]] ಮತ್ತು ಪರೀಕ್ಷೆಯ ರಿಟರ್ನ್ ಕೋಡ್ ಅನ್ನು ಮುದ್ರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.
  • ತೆಗೆದುಹಾಕಲು ಶಿಫಾರಸು ಸೇರಿಸಲಾಗಿದೆ ((..)) inarray[((idx))]=val.
  • ಅಂಕಗಣಿತದ ಸಂದರ್ಭಗಳಲ್ಲಿ ಡಬಲ್ ಆವರಣಗಳನ್ನು ಜೋಡಿಸಲು ಶಿಫಾರಸನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • a[(x+1)]=val ಎಂಬ ಅಭಿವ್ಯಕ್ತಿಯಲ್ಲಿ ಆವರಣಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಶಿಫಾರಸನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ