ಒಂದು ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ನೊಳಗೆ ಟೆಸ್ಟ್ ಷರತ್ತುಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು

ಪರೀಕ್ಷಾ ಆಜ್ಞೆಯನ್ನು ಲಿನಕ್ಸ್ ಕಮಾಂಡ್ ಲೈನ್ನಲ್ಲಿ ಒಂದು ಅಂಶವನ್ನು ಇನ್ನೊಂದಕ್ಕೆ ಹೋಲಿಸಲು ಬಳಸಬಹುದು ಆದರೆ ತರ್ಕ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಹರಿವನ್ನು ನಿಯಂತ್ರಿಸುವ ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಗಳ ಭಾಗವಾಗಿ ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬ್ಯಾಷ್ ಶೆಲ್ ಲಿಪಿಯಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.

ಒಂದು ಮೂಲ ಉದಾಹರಣೆ

ಟರ್ಮಿನಲ್ ವಿಂಡೋವನ್ನು ತೆರೆಯುವ ಮೂಲಕ ನೀವು ಕೇವಲ ಈ ಆಜ್ಞೆಗಳನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು.

ಪರೀಕ್ಷೆ 1 -eq 2 && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

ಮೇಲಿನ ಆಜ್ಞೆಯನ್ನು ಕೆಳಕಂಡಂತೆ ವಿಭಜಿಸಬಹುದು:

ಮೂಲಭೂತವಾಗಿ, ಆಜ್ಞೆಯು 1 ರಿಂದ 2 ಅನ್ನು ಹೋಲುತ್ತದೆ ಮತ್ತು ಅವರು ಪ್ರತಿಧ್ವನಿ "ಹೌದು" ಹೇಳಿಕೆಗೆ "ಹೌದು" ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಮತ್ತು ಅವರು "ಇಲ್ಲ" ಎಂದು ತೋರಿಸುವ ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ" ಹೇಳಿಕೆಗೆ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ ಅದನ್ನು ಹೊಂದಿಸುತ್ತದೆ.

ಸಂಖ್ಯೆಯನ್ನು ಹೋಲಿಸುವುದು

ನೀವು ಸಂಖ್ಯೆಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡುವ ಅಂಶಗಳನ್ನು ಹೋಲಿಸಿದರೆ ನೀವು ಕೆಳಗಿನ ಹೋಲಿಕೆ ನಿರ್ವಾಹಕರನ್ನು ಬಳಸಬಹುದು:

ಉದಾಹರಣೆಗಳು:

ಪರೀಕ್ಷೆ 1 -eq 2 && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಯ ಮೇಲೆ "ಇಲ್ಲ" ಅನ್ನು ತೋರಿಸುತ್ತದೆ ಏಕೆಂದರೆ 1 ಸಮಾನವಾಗಿಲ್ಲ 2)

ಪರೀಕ್ಷೆ 1 -ge 2 && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಯ ಮೇಲೆ "ಇಲ್ಲ" ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಏಕೆಂದರೆ 1 ಇದು ಹೆಚ್ಚಿನದು ಅಥವಾ 2 ಕ್ಕೆ ಸಮನಾಗಿರುವುದಿಲ್ಲ)

ಪರೀಕ್ಷೆ 1 -gt 2 ಮತ್ತು& ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಯ ಮೇಲೆ "ಇಲ್ಲ" ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಏಕೆಂದರೆ 1 ರದು 2 ಗಿಂತ ಹೆಚ್ಚಿಲ್ಲ)

ಪರೀಕ್ಷೆ 1 -ಲಿ 2 ಮತ್ತು& ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಯ ಮೇಲೆ "ಹೌದು" ತೋರಿಸುತ್ತದೆ ಏಕೆಂದರೆ 1 ಕಡಿಮೆ ಅಥವಾ 2 ರಷ್ಟಿದೆ)

ಪರೀಕ್ಷೆ 1 -lt 2 && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಯ ಮೇಲೆ "ಹೌದು" ತೋರಿಸುತ್ತದೆ ಏಕೆಂದರೆ 1 ಕಡಿಮೆ ಅಥವಾ 2 ರಷ್ಟಿದೆ)

ಪರೀಕ್ಷೆ 1 -ನೆ 2 && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಯ ಮೇಲೆ "ಹೌದು" ಅನ್ನು ತೋರಿಸುತ್ತದೆ ಏಕೆಂದರೆ 1 ಸಮಾನವಾಗಿಲ್ಲ 2)

ಪಠ್ಯವನ್ನು ಹೋಲಿಸಿ

ತಂತಿಗಳಂತೆ ಪಾರ್ಸ್ ಮಾಡುವ ಅಂಶಗಳನ್ನು ನೀವು ಹೋಲಿಸಿದರೆ ನೀವು ಕೆಳಗಿನ ಹೋಲಿಕೆ ನಿರ್ವಾಹಕರನ್ನು ಬಳಸಬಹುದು:

ಉದಾಹರಣೆಗಳು:

ಪರೀಕ್ಷೆ "string1" = "string2" && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

("ಸ್ಟ್ರಿಂಗ್ 1" ಸಮಾನ "ಸ್ಟ್ರಿಂಗ್ 2" ಅನ್ನು ಹೊಂದಿಲ್ಲ ಏಕೆಂದರೆ ಪರದೆಯ ಮೇಲೆ "ಇಲ್ಲ" ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ)

ಪರೀಕ್ಷೆ "string1"! = "string2" && ಪ್ರತಿಧ್ವನಿ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಗೆ "ಹೌದು" ಅನ್ನು ತೋರಿಸುತ್ತದೆ ಏಕೆಂದರೆ "string1" ಸಮಾನ "ಸ್ಟ್ರಿಂಗ್ 2" ಅನ್ನು ಹೊಂದಿಲ್ಲ)

test -n "string1" && echo "yes" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

(ಪರದೆಗೆ "ಹೌದು" ಅನ್ನು ತೋರಿಸುತ್ತದೆ ಏಕೆಂದರೆ "ಸ್ಟ್ರಿಂಗ್ 1" ಶೂನ್ಯಕ್ಕಿಂತ ಉದ್ದವಾದ ಸ್ಟ್ರಿಂಗ್ ಉದ್ದವನ್ನು ಹೊಂದಿರುತ್ತದೆ)

ಪರೀಕ್ಷೆ -ಜಿ "ಸ್ಟ್ರಿಂಗ್ 1" && ಎಕೋ "ಹೌದು" || ಪ್ರತಿಧ್ವನಿ "ಇಲ್ಲ"

("ಸ್ಟ್ರಿಂಗ್ 1" ಶೂನ್ಯಕ್ಕಿಂತ ಸ್ಟ್ರಿಂಗ್ ಉದ್ದವನ್ನು ಹೊಂದಿದೆ ಏಕೆಂದರೆ ಪರದೆಯ ಮೇಲೆ "ಇಲ್ಲ" ಅನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ)

ಫೈಲ್ಗಳನ್ನು ಹೋಲಿಸುವುದು

ನೀವು ಫೈಲ್ಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡುತ್ತಿದ್ದರೆ ನೀವು ಕೆಳಗಿನ ಹೋಲಿಕೆ ನಿರ್ವಾಹಕರನ್ನು ಬಳಸಬಹುದು:

ಉದಾಹರಣೆಗಳು:

ಪರೀಕ್ಷೆ / ಮಾರ್ಗ / to / file1 -n / path / to / file2 && echo "ಹೌದು"

(ಫೈಲ್ 1 file2 ಗಿಂತ ಹೊಸದಾಗಿದ್ದರೆ "ಹೌದು" ಪದವನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ)

test -e / path / to / file1 && echo "ಹೌದು"

(file1 ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ "yes" ಎಂಬ ಪದವನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ)

test -O / path / to / file1 && echo "ಹೌದು"

(ನೀವು file1 ಅನ್ನು ಹೊಂದಿದ್ದಲ್ಲಿ "ಹೌದು" ಎಂಬ ಪದವನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ ")

ಪರಿಭಾಷೆ

ಬಹು ಸ್ಥಿತಿಯನ್ನು ಹೋಲಿಸುವುದು

ಇಲ್ಲಿಯವರೆಗೆ ಪ್ರತಿಯೊಂದೂ ಒಂದು ವಿಷಯವನ್ನು ಪರಸ್ಪರ ವಿರುದ್ಧವಾಗಿ ಹೋಲಿಸುತ್ತಿದೆ ಆದರೆ ನೀವು ಎರಡು ಷರತ್ತುಗಳನ್ನು ಹೋಲಿಸಲು ಬಯಸಿದರೆ.

ಉದಾಹರಣೆಗೆ, ಒಂದು ಪ್ರಾಣಿ 4 ಕಾಲುಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು "ಮೂ" ಎಂದು ಹೋಗುತ್ತದೆ ಅದು ಬಹುಶಃ ಹಸು. ಕೇವಲ 4 ಕಾಲುಗಳಿಗೆ ತಪಾಸಣೆ ಮಾಡುವುದು ನಿಮಗೆ ಹಸುವಿನಿದೆ ಎಂದು ಖಾತ್ರಿಪಡಿಸುವುದಿಲ್ಲ ಆದರೆ ಅದು ಖಂಡಿತವಾಗಿಯೂ ಮಾಡುತ್ತದೆ ಧ್ವನಿ ಪರಿಶೀಲಿಸುತ್ತದೆ.

ಎರಡೂ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಪರೀಕ್ಷಿಸಲು ಈ ಕೆಳಗಿನ ಹೇಳಿಕೆಯನ್ನು ಬಳಸಿ:

ಪರೀಕ್ಷೆ 4 -eq 4 -a "moo" = "moo" && echo "ಇದು ಒಂದು ಹಸು" || ಪ್ರತಿಧ್ವನಿ "ಅದು ಹಸು ಅಲ್ಲ"

ಇಲ್ಲಿ ಪ್ರಮುಖ ಭಾಗವೆಂದರೆ-ಇದು ಮತ್ತು ಅದನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.

ಅದೇ ಪರೀಕ್ಷೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಉತ್ತಮ ಮತ್ತು ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುವ ವಿಧಾನವಿದೆ ಮತ್ತು ಅದು ಕೆಳಕಂಡಂತಿರುತ್ತದೆ:

ಪರೀಕ್ಷೆ 4 -ಇಕ್ 4 && ಪರೀಕ್ಷೆ "ಮೂ" = "ಮೂ" && ಎಕೋ "ಇದು ಒಂದು ಹಸು" || ಪ್ರತಿಧ್ವನಿ "ಅದು ಹಸು ಅಲ್ಲ"

ನೀವು ಮಾಡಲು ಬಯಸಿದ ಇನ್ನೊಂದು ಪರೀಕ್ಷೆಯು ಎರಡು ಹೇಳಿಕೆಗಳನ್ನು ಹೋಲಿಸುತ್ತದೆ ಮತ್ತು ಅದು ನಿಜವಾದ ಔಟ್ಪುಟ್ ಅನ್ನು ಸ್ಟ್ರಿಂಗ್ ಮಾಡಿದಾಗ. ಉದಾಹರಣೆಗೆ, ನೀವು "file1.txt" ಹೆಸರಿನ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಅಥವಾ "file1.doc" ಎಂಬ ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲು ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸಬಹುದು

test -e file1.txt -o -e file1.doc && echo "file1 exists" || echo "file1 ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"

ಇಲ್ಲಿ ಪ್ರಮುಖ ಭಾಗವೆಂದರೆ -o ಇದು ನಿಂತಿದೆ ಅಥವಾ.

ಅದೇ ಪರೀಕ್ಷೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಉತ್ತಮ ಮತ್ತು ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುವ ವಿಧಾನವಿದೆ ಮತ್ತು ಅದು ಕೆಳಕಂಡಂತಿರುತ್ತದೆ:

test -e file1.txt || test -e file1.doc && echo "file1 exists" || echo "file1 ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"

ಪರೀಕ್ಷಾ ಕೀವರ್ಡ್ ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ

ಹೋಲಿಕೆ ಮಾಡಲು ನೀವು ಪದ ಪರೀಕ್ಷೆಯನ್ನು ನಿಜವಾಗಿ ಬಳಸಬೇಕಾಗಿಲ್ಲ. ನೀವು ಮಾಡಬೇಕು ಎಲ್ಲಾ ಚದರ ಆವರಣಗಳಲ್ಲಿ ಹೇಳಿಕೆಯನ್ನು ಈ ಕೆಳಗಿನಂತಿರುವಂತೆ ಸುತ್ತುವರೆದಿದೆ:

[-e file1.txt] && echo "file1 exists" || echo "file1 ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"

ಮೂಲತಃ [ಮತ್ತು] ಪರೀಕ್ಷೆಯಂತೆಯೇ ಅರ್ಥ.

ಇದೀಗ ನೀವು ಅನೇಕ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಹೋಲಿಸುವಲ್ಲಿ ಸುಧಾರಿಸಬಹುದು ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆ:

[4-ಇಕ್ 4] && ["ಮೂ" = "ಮೂ"] && ಎಕೋ "ಇದು ಈಸ್ ಎ ಹವ್" || ಪ್ರತಿಧ್ವನಿ "ಅದು ಹಸು ಅಲ್ಲ"

[-e file1.txt] || [-e file1.doc] && echo "file1 ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ" || echo "file1 ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ"

ಸಾರಾಂಶ

ಪರೀಕ್ಷಾ ಆಜ್ಞೆಯು ಸ್ಕ್ರಿಪ್ಟ್ಗಳಲ್ಲಿ ಹೆಚ್ಚು ಉಪಯುಕ್ತವಾಗಿದೆ ಏಕೆಂದರೆ ನೀವು ಒಂದು ವೇರಿಯಬಲ್ ಮೌಲ್ಯವನ್ನು ಮತ್ತೊಂದಕ್ಕೆ ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಪ್ರೋಗ್ರಾಂ ಹರಿವನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು. ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ, ಫೈಲ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಅಥವಾ ಇಲ್ಲವೇ ಎಂದು ಪರೀಕ್ಷಿಸಲು ನೀವು ಇದನ್ನು ಬಳಸಬಹುದು