ਬੈਸ ਸਕ੍ਰਿਪਟ ਦੇ ਅੰਦਰ ਟੈਸਟ ਦੇ ਹਾਲਾਤ ਕਿਵੇਂ ਵਰਤੇ ਜਾਂਦੇ ਹਨ

ਟੈਸਟ ਕਮਾਂਡ ਨੂੰ ਲੀਨਕਸ ਕਮਾਂਡ ਲਾਈਨ ਤੇ ਇਕ ਤੱਤ ਦੀ ਦੂਜੀ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ ਪਰ ਇਹ ਸ਼ਰਤੀਆ ਬਿਆਨ ਦੇ ਹਿੱਸੇ ਵੱਜੋਂ ਆਮ ਤੌਰ ਤੇ BASH ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਤਰਕ ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਦੇ ਪ੍ਰਵਾਹ ਤੇ ਨਿਯੰਤਰਣ ਕਰਦੇ ਹਨ.

ਇੱਕ ਮੁਢਲਾ ਉਦਾਹਰਨ

ਤੁਸੀਂ ਇਹਨਾਂ ਕਮਾਂਡਾਂ ਨੂੰ ਟਰਮੀਨਲ ਵਿੰਡੋ ਖੋਲ ਕੇ ਅਜ਼ਮਾ ਸਕਦੇ ਹੋ.

ਟੈਸਟ 1 -ਈਕ 2 && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਨੂੰ ਤੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ:

ਸੰਖੇਪ ਰੂਪ ਵਿੱਚ, ਕਮਾਂਡ 1 ਤੋਂ 2 ਦੀ ਤੁਲਨਾ ਕਰ ਰਿਹਾ ਹੈ ਅਤੇ ਉਹ ਈਕੋ "ਹਾਂ" ਸਟੇਟਮੈਂਟ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਹਨ ਜੋ "ਹਾਂ" ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦੇ ਹਨ ਅਤੇ ਜੇ ਉਹ "ਨੋ" ਵਿਖਾਇਆ ਗਿਆ ਈਕੋ "ਨੋ" ਬਿਆਨ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ.

ਗਿਣਤੀ ਦੀ ਤੁਲਨਾ ਕਰਨੀ

ਜੇ ਤੁਸੀਂ ਉਹਨਾਂ ਅੰਕਾਂ ਦੀ ਤੁਲਨਾ ਕਰ ਰਹੇ ਹੋ ਜੋ ਸੰਖਿਆਵਾਂ ਨੂੰ ਪਾਰਸ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਤੁਲਨਾ ਅਪਰੇਟਰ ਵਰਤ ਸਕਦੇ ਹੋ:

ਉਦਾਹਰਨਾਂ:

ਟੈਸਟ 1 -ਈਕ 2 && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਨਹੀਂ" ਡਿਸਪਲੇ ਕਰੋ ਕਿਉਂਕਿ 1 2 ਦੇ ਬਰਾਬਰ ਨਹੀਂ)

ਟੈਸਟ 1 -ge 2 ਅਤੇ& ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਨਹੀਂ" ਡਿਸਪਲੇ ਕਰੋ ਕਿਉਂਕਿ 1 ਵੱਡਾ ਜਾਂ 2 ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ)

ਟੈਸਟ 1 -gt 2 && echo "yes" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਨਹੀਂ" ਡਿਸਪਲੇ ਕਰੋ ਕਿਉਂਕਿ 1 2 ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੈ)

ਟੈਸਟ 1-ਲੈ 2 && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਹਾਂ" ਡਿਸਪਲੇ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ 1 2 ਤੋਂ ਘੱਟ ਜਾਂ ਇਸਦੇ ਬਰਾਬਰ ਹੈ)

ਟੈਸਟ 1 -ਲਟਨ 2 && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਹਾਂ" ਡਿਸਪਲੇ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ 1 2 ਤੋਂ ਘੱਟ ਜਾਂ ਇਸਦੇ ਬਰਾਬਰ ਹੈ)

ਟੈਸਟ 1-2 2 && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਹਾਂ" ਡਿਸਪਲੇ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ 1 2 ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੁੰਦਾ)

ਟੈਕਸਟ ਦੀ ਤੁਲਨਾ ਕਰਨੀ

ਜੇ ਤੁਸੀਂ ਤੱਤਾਂ ਦੀ ਤੁਲਨਾ ਕਰ ਰਹੇ ਹੋ ਜੋ ਸਤਰ ਦੇ ਤੌਰ ਤੇ ਪਾਰਸ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਤੁਲਨਾ ਅਪਰੇਟਰ ਵਰਤ ਸਕਦੇ ਹੋ:

ਉਦਾਹਰਨਾਂ:

ਟੈਸਟ "ਸਟ੍ਰਿੰਗ 1" = "ਸਟਰਿੰਗ 2" && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਨਹੀਂ" ਡਿਸਪਲੇ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ "string1" ਬਰਾਬਰ ਨਹੀਂ "string2")

ਟੈਸਟ "ਸਟ੍ਰਿੰਗ1"! = "ਸਟਰਿੰਗ 2" && ਈਕੋ "ਹਾਂ" || ਈਕੋ "ਨਾਂਹ"

(ਪਰਦੇ ਲਈ "ਹਾਂ" ਡਿਸਪਲੇ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ "string1" ਬਰਾਬਰ "string2" ਨਹੀਂ ਹੈ)

test -n "string1" && echo "yes" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਹਾਂ" ਡਿਸਪਲੇ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ "ਸਤਰ 1" ਕੋਲ ਸਫਰੀ ਦੀ ਲੰਬਾਈ ਜ਼ੀਰੋ ਤੋਂ ਜਿਆਦਾ ਹੈ)

test -z "string1" && echo "yes" || ਈਕੋ "ਨਾਂਹ"

(ਸਕ੍ਰੀਨ ਤੇ "ਨਾਂਹ" ਡਿਸਪਲੇ ਕਰੋ ਕਿਉਂਕਿ "ਸਤਰ 1" ਕੋਲ ਸਫਰੀ ਦੀ ਲੰਬਾਈ ਜ਼ੀਰੋ ਤੋਂ ਜਿਆਦਾ ਹੈ)

ਫਾਇਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨੀ

ਜੇ ਤੁਸੀਂ ਫਾਈਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਤੁਲਨਾ ਅਪਰੇਟਰ ਵਰਤ ਸਕਦੇ ਹੋ:

ਉਦਾਹਰਨਾਂ:

test / path / to / file1 -n / path / to / file2 && ਈਕੋ "ਹਾਂ"

(ਜੇ file1 ਫਾਇਲ 2 ਤੋਂ ਨਵਾਂ ਹੈ ਤਾਂ "ਹਾਂ" ਸ਼ਬਦ ਦਿਖਾਇਆ ਜਾਵੇਗਾ)

test -e / path / to / file1 && echo "ਹਾਂ"

(ਜੇ ਫਾਇਲ 1 ਮੌਜੂਦ ਹੈ ਤਾਂ "ਹਾਂ" ਸ਼ਬਦ ਦਿਖਾਇਆ ਜਾਵੇਗਾ)

test-o / path / to / file1 && ਈਕੋ "ਹਾਂ"

(ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਫਾਇਲ 1 ਹੈ ਤਾਂ ਸ਼ਬਦ "ਹਾਂ" ਦਿਖਾਇਆ ਗਿਆ ਹੈ)

ਪਰਿਭਾਸ਼ਾ

ਬਹੁਤੀਆਂ ਸ਼ਰਤਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨੀ

ਇਸ ਤਰ੍ਹਾਂ ਹੁਣ ਤੱਕ ਸਭ ਕੁਝ ਇਕ ਚੀਜ਼ ਦੇ ਵਿਰੁੱਧ ਇਕ ਦੂਜੇ ਦੀ ਤੁਲਨਾ ਕਰ ਰਿਹਾ ਹੈ ਪਰ ਜੇ ਤੁਸੀਂ ਦੋ ਸ਼ਰਤਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਕੀ ਹੋਵੇਗਾ?

ਉਦਾਹਰਨ ਲਈ, ਜੇ ਕਿਸੇ ਜਾਨਵਰ ਦੇ ਚਾਰ ਲੱਤਾਂ ਹਨ ਅਤੇ "ਮਉ" ਚਲਾਉਂਦਾ ਹੈ ਤਾਂ ਇਹ ਸ਼ਾਇਦ ਇੱਕ ਗਊ ਹੈ ਸਿਰਫ਼ 4 ਲੱਤਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਨਾਲ ਇਹ ਗਾਰੰਟੀ ਨਹੀਂ ਮਿਲਦੀ ਹੈ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਗਊ ਹੈ ਪਰ ਇਸਦੀ ਜ਼ਰੂਰਤ ਅਨੁਸਾਰ ਆਵਾਜ਼ ਦੀ ਜਾਂਚ ਕਰਨਾ.

ਦੋਵਾਂ ਹਾਲਤਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਇਕ ਬਿਆਨ ਦੀ ਵਰਤੋਂ ਕਰੋ:

ਟੈਸਟ 4 -ਈਕ 4- ਏ "ਮੂ" = "ਮੂ" && ਈਕੋ "ਇਹ ਇੱਕ ਗਊ ਹੈ" || ਈਕੋ "ਇਹ ਗਊ ਨਹੀਂ ਹੈ"

ਇੱਥੇ ਮੁੱਖ ਭਾਗ-ਏ ਹੈ ਜਿਸਦਾ ਅਰਥ ਹੈ ਅਤੇ

ਇੱਕੋ ਹੀ ਟੈਸਟ ਕਰਨ ਦਾ ਇਕ ਬਿਹਤਰ ਅਤੇ ਵਧੇਰੇ ਆਮ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਤਰੀਕਾ ਹੈ ਅਤੇ ਇਹ ਇਸ ਪ੍ਰਕਾਰ ਹੈ:

ਟੈਸਟ 4 -ਈਕ 4 && ਟੈਸਟ "moo" = "moo" && echo "ਇਹ ਇੱਕ ਗਊ ਹੈ" || ਈਕੋ "ਇਹ ਗਊ ਨਹੀਂ ਹੈ"

ਇਕ ਹੋਰ ਟੈਸਟ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਉਹ ਦੋ ਸਟੇਟਮੈਂਟਸ ਦੀ ਤੁਲਨਾ ਕਰ ਰਿਹਾ ਹੈ ਅਤੇ ਜੇ ਕੋਈ ਸੱਚਾ ਆਉਟਪੁਟ ਇੱਕ ਸਤਰ ਹੈ. ਉਦਾਹਰਨ ਲਈ, ਜੇ ਤੁਸੀਂ ਇਹ ਜਾਣਨਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ "file1.txt" ਨਾਮ ਦੀ ਇੱਕ ਫਾਈਲ ਮੌਜੂਦ ਹੈ ਜਾਂ "file1.doc" ਨਾਮਕ ਇੱਕ ਫਾਈਲ ਮੌਜੂਦ ਹੈ ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ

test -e file1.txt -o -e file1.doc ਅਤੇ& ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਹੈ" || ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਨਹੀਂ ਹੈ"

ਇੱਥੇ ਮੁੱਖ ਹਿੱਸਾ -o ਹੈ ਜਿਸਦਾ ਅਰਥ ਹੈ ਜਾਂ

ਇੱਕੋ ਹੀ ਟੈਸਟ ਕਰਨ ਦਾ ਇਕ ਬਿਹਤਰ ਅਤੇ ਵਧੇਰੇ ਆਮ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਤਰੀਕਾ ਹੈ ਅਤੇ ਇਹ ਇਸ ਪ੍ਰਕਾਰ ਹੈ:

test -e file1.txt || test-e file1.doc ਅਤੇ& ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਹੈ" || ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਨਹੀਂ ਹੈ"

ਟੈਸਟ ਕੀਵਰਡ ਨੂੰ ਖਤਮ ਕਰਨਾ

ਤੁਹਾਨੂੰ ਤੁਲਨਾ ਕਰਨ ਲਈ ਅਸਲ ਵਿੱਚ ਸ਼ਬਦ ਟੈਸਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਨਹੀਂ ਹੈ. ਤੁਹਾਨੂੰ ਸਿਰਫ਼ ਇਹ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਬਿਆਨ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਵਰਗ ਬ੍ਰੈਕਟਾਂ ਵਿੱਚ ਰੱਖਿਆ ਜਾਵੇ:

[-e file1.txt] && ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਹੈ" || ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਨਹੀਂ ਹੈ"

[ਅਤੇ] ਅਸਲ ਵਿੱਚ ਪ੍ਰੀਖਿਆ ਦੇ ਰੂਪ ਵਿੱਚ ਇੱਕੋ ਹੀ ਅਰਥ ਹੁੰਦਾ ਹੈ.

ਹੁਣ ਤੁਸੀਂ ਇਹ ਜਾਣਦੇ ਹੋ ਕਿ ਤੁਸੀਂ ਹੇਠ ਲਿਖਿਆਂ ਦੀਆਂ ਬਹੁਤੀਆਂ ਹਾਲਤਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨ ਵਿਚ ਸੁਧਾਰ ਕਰ ਸਕਦੇ ਹੋ:

[4 -ਈਕ 4] && ["ਮੌ" = "ਮੂ"] && ਈਕੋ "ਇਹ ਇੱਕ ਗਊ ਹੈ" || ਈਕੋ "ਇਹ ਗਊ ਨਹੀਂ ਹੈ"

[-ਈ ਫਾਇਲ1.txt] || [-e file1.doc] && ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਹੈ" || ਈਕੋ "ਫਾਇਲ 1 ਮੌਜੂਦ ਨਹੀਂ ਹੈ"

ਸੰਖੇਪ

ਸਕ੍ਰਿਪਟਾਂ ਲਈ ਟੈਸਟ ਕਮਾਂਡ ਵਧੇਰੇ ਲਾਹੇਵੰਦ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਇੱਕ ਵੈਰੀਬਲ ਦੇ ਮੁੱਲ ਦੀ ਦੂਜੇ ਤੋਂ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਪ੍ਰੋਗ੍ਰਾਮ ਦੇ ਨਿਯੰਤਰਣ ਨੂੰ ਪ੍ਰਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹੋ. ਮਿਆਰੀ ਕਮਾਂਡ ਲਾਈਨ ਤੇ, ਤੁਸੀਂ ਇਸ ਦੀ ਵਰਤੋਂ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੀ ਇੱਕ ਫਾਇਲ ਮੌਜੂਦ ਹੈ ਜਾਂ