ਇੱਕ ਬੈਸ਼ ਸਕਰਿਪਟ ਵਿੱਚ IF- ਬਿਆਨ ਕਿਵੇਂ ਲਿਖਣਾ ਹੈ

ਕਮਾਂਡਾਂ, ਸੰਟੈਕਸ ਅਤੇ ਉਦਾਹਰਨਾਂ

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

ਜੇਕਰ-ਸਟੇਟਮੈਂਟ ਦੀ ਸਧਾਰਨ ਰੂਪ ਦਾ ਇਕ ਉਦਾਹਰਣ ਹੋਵੇਗਾ:

ਗਿਣਤੀ = 5 ਜੇ [$ count == 5] ਫਿਰ "$ count" fi ਨੂੰ ਐੱਕੋ ਕਰੋ

ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਵੇਰੀਏਬਲ "ਕਾਉਂਟ" ਦੀ ਵਰਤੋਂ ਉਸ ਸਥਿਤੀ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ IF ਸਟੇਟਮੈਂਟ ਦੇ ਹਿੱਸੇ ਦੇ ਤੌਰ ਤੇ ਵਰਤੀ ਜਾਂਦੀ ਹੈ. ਜੇ-ਸਟੇਟਮੈਂਟ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, "5" ਮੁੱਲ ਨੂੰ ਵੇਰੀਏਬਲ "ਕਾਉਂਟ" ਦਿੱਤਾ ਗਿਆ ਹੈ. If-statement ਫਿਰ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ "count" ਦਾ ਮੁੱਲ "5" ਹੈ. ਜੇ ਅਜਿਹਾ ਹੁੰਦਾ ਹੈ ਤਾਂ ਕੀਵਰਡ "ਫਿਰ" ਅਤੇ "ਫਾਈ" ਵਿਚਲੇ ਬਿਆਨ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਨਹੀਂ ਤਾਂ ਇਫ ਸਟੇਟਮੈਂਟ ਲਾਗੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕੋਈ ਵੀ ਬਿਆਨ. ਕੀਵਰਡ "ਫਾਈ" "ਪਿਛਲਾ" ਹੈ ਜੋ ਕਿ ਪਿਛਲੀ ਵਾਰ ਜੋੜਿਆ ਗਿਆ ਹੈ. ਬਾਸ ਸਕ੍ਰਿਪਟਿੰਗ ਭਾਸ਼ਾ ਇਸ ਸੰਮੇਲਨ ਦੀ ਵਰਤੋਂ ਇੱਕ ਗੁੰਝਲਦਾਰ ਪ੍ਰਗਟਾਵੇ ਦੇ ਅੰਤ ਨੂੰ ਦਰਸਾਉਣ ਲਈ ਕਰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਇਫ ਸਟੇਟਮੈਂਟ ਜਾਂ ਕੇਸ-ਸਟੇਟਮੈਂਟ.

"ਐੱਕੋ" ਸਟੇਟਮੈਂਟ ਇਸਦੀ ਆਰਗੂਮੈਂਟ ਪ੍ਰਿੰਟ ਕਰਦੀ ਹੈ, ਇਸ ਕੇਸ ਵਿੱਚ, ਟਰਮੀਨਲ ਵਿੰਡੋ ਵਿੱਚ ਵੇਰੀਏਬਲ "ਕਾਉਂਟੀ" ਦਾ ਮੁੱਲ. If-statement ਦੇ ਕੀਵਰਡਾਂ ਦੇ ਵਿਚਕਾਰ ਕੋਡ ਨੂੰ ਉਤਾਰਨ ਨਾਲ ਪੜ੍ਹਨਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਹੋਇਆ ਹੈ ਪਰ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ.

ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਅਜਿਹੀ ਸਥਿਤੀ ਹੈ ਜਿੱਥੇ ਇੱਕ ਕੋਡ ਦਾ ਇਕ ਟੁਕੜਾ ਕੇਵਲ ਉਦੋਂ ਹੀ ਚਲਾਇਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਜੇਕਰ ਕੋਈ ਸ਼ਰਤ ਪੂਰੀ ਨਹੀਂ ਹੁੰਦੀ, ਤੁਸੀਂ ਇਸ ਉਦਾਹਰਨ ਦੇ ਤੌਰ ਤੇ, ਇਫ ਸਟੇਟਮੈਂਟ ਵਿੱਚ "ਹੋਰ" ਸ਼ਬਦ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:

ਗਿਣਤੀ = 5 ਜੇ [$ count == 5] ਫਿਰ "$ count" ਨੂੰ ਐੱਕੋ ਕਰੋ "ਗੂੰਜ 5 ਨਹੀਂ ਹੈ"

ਜੇਕਰ ਸ਼ਰਤ "$ count == 5" ਸਹੀ ਹੈ, ਸਿਸਟਮ "ਵੇਰੀਏਬਲ" ਦੀ ਵੇਰੀਏ ਦੇ ਮੁੱਲ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ, ਨਹੀਂ ਤਾਂ ਇਹ ਸਟ੍ਰਿੰਗ "ਗਿਣਤੀ 5 ਨਹੀਂ ਹੈ" ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ.

ਜੇ ਤੁਸੀਂ ਬਹੁਤੀਆਂ ਹਾਲਤਾਂ ਵਿਚ ਫਰਕ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ "elif" ਸ਼ਬਦ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਜੋ ਕਿ "ਹੋਰ ਤਾਂ" ਤੋਂ ਲਿਆ ਗਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ:

ਜੇ [$ count == 5] ਫਿਰ ਐੱਕੋ "ਕਾਉਂਟੀ ਪੰਜ ਹੈ" elif [$ count == 6] ਫਿਰ "ਗਿਣਤੀ ਛੇ ਹੈ" ਫਿਰ ਐਕੋ "ਉਪਰੋਕਤ ਵਿੱਚੋਂ ਕੋਈ ਨਹੀਂ"

ਜੇ "ਗਿਣਤੀ" "5" ਹੈ, ਤਾਂ ਪ੍ਰਣਾਲੀ ਪ੍ਰਿੰਟ ਕਰਦੀ ਹੈ ਕਿ "ਗਿਣਤੀ ਪੰਜ ਹੈ". ਜੇ "ਗਿਣਤੀ" "5" ਨਹੀਂ ਹੈ, ਪਰ "6" ਹੈ, ਤਾਂ ਸਿਸਟਮ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ "ਗਿਣਤੀ ਛੇ ਹੈ". ਜੇ ਇਹ ਨਾ ਤਾਂ "5" ਹੈ ਅਤੇ ਨਾ ਹੀ "6" ਹੈ, ਪ੍ਰਣਾਲੀ "ਉਪਰੋਕਤ ਵਿੱਚੋਂ ਕੋਈ ਨਹੀਂ" ਪਰਿੰਟ ਕਰਦੀ ਹੈ.

ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਅਨੁਮਾਨ ਲਗਾਇਆ ਹੋ ਸਕਦਾ ਹੈ, ਤੁਹਾਡੇ ਕੋਲ "ਐਲੀਫ" ਕਲੋਜ਼ ਦੇ ਕਿਸੇ ਵੀ ਨੰਬਰ ਹੋ ਸਕਦੇ ਹਨ. ਬਹੁ "ਏਲੀਫ" ਦੀਆਂ ਸਥਿਤੀਆਂ ਨਾਲ ਇੱਕ ਉਦਾਹਰਨ ਇਹ ਹੋਵੇਗੀ:

ਜੇ [$ count == 5] ਫਿਰ "ਗਿਣਤੀ ਪੰਜ ਹੈ" elif [$ count == 6] ਫਿਰ ਐੱਕੋ "ਗਿਣਤੀ ਛੇ ਹੈ" elif [$ count == 7] ਫਿਰ "ਗਿਣਤੀ ਸੱਤ ਹੈ" elif [$ count = = 8] ਫੇਰ "ਪੋਜ਼ਿਸ਼ਨ ਅੱਠ" ਐਲੀਫ [$ count == 9] ਫਿਰ ਐੱਕੋ "ਕਾਉਂਟੀ ਨੌਂ ਹੈ" ਐੱਕੋ ਐਕੋ "ਉਪਰੋਕਤ ਵਿਚੋਂ ਕੋਈ ਵੀ ਨਹੀਂ" ਈਕੋ

ਬਹੁਤੀਆਂ ਹਾਲਤਾਂ ਦੇ ਨਾਲ ਅਜਿਹੇ ਬਿਆਨ ਲਿਖਣ ਦਾ ਇੱਕ ਵਧੇਰੇ ਸੰਖੇਪ ਤਰੀਕੇ ਤਰੀਕਾ ਹੈ ਕੇਸ ਵਿਧੀ. ਇਹ ਇਫ ਸਟੇਟਮੈਂਟ ਦੇ ਤੌਰ ਤੇ ਬਹੁਤ ਸਾਰੀਆਂ "ਐਲੀਫ" ਕਲੋਸ ਦੇ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ ਪਰੰਤੂ ਹੋਰ ਸੰਖੇਪ ਹੈ. ਉਦਾਹਰਨ ਲਈ, ਕੋਡ ਦੇ ਉੱਪਰ ਦਿੱਤੇ ਟੁਕੜੇ ਨੂੰ "ਕੇਸ" ਕਥਨ ਨਾਲ ਮੁੜ-ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ:

ਕੇਸ "$ count" 5) echo "count is five";; 6) ਈਕੋ "ਗਿਣਤੀ ਛੇ ਹੈ";; 7) ਈਕੋ "ਕਾਊਂਟ ਸੱਤ ਹੈ";; 8) ਈਕੋ "ਕਾਉਂਟ ਅੱਠ ਹੈ";; 9) echo "ਗਿਣਤੀ ਨੌਂ ਹੈ";; *) ਈਕੋ "ਉਪ੍ਰੋਕਤ ਵਿਚੋਂ ਕੋਈ ਨਹੀਂ" ਈਐਸਸੀ

ਜੇ-ਬਿਆਨ ਅਕਸਰ -ਲਈ-ਲੂਪਸ ਜਾਂ ਇਸ ਉਦਾਹਰਨ ਦੇ ਤੌਰ ਤੇ- ਲੂਪਸ ਦੇ ਅੰਦਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:

count = 1 done = 0 ਜਦੋਂ [$ count -le 9] ਸਲੀਪ ਕਰੋ 1 ((count ++)) ਜੇ [$ count == 5] ਤਾਂ ਫਿਰ "$ count" ਨੂੰ ਐੱਕੋ ਕਰੋ, ਈਕੋ ਮੁਕੰਮਲ ਹੋਇਆ.

ਜੇਕਰ ਤੁਸੀਂ ਸਟੇਟਮੈਂਟਾਂ ਦੇ ਨਾਲ ਅੰਦਰ ਜਾ ਸਕਦੇ ਹੋ ਸਧਾਰਣ ਨੈਸਟਿਡ ਜੇਕਰ ਸਟੇਟਮੈਂਟ ਫਾਰਮ ਦਾ ਹੈ: ਜੇ ... ਤਦ ... ਹੋਰ ... ਜੇ ... ਤਦ ... ਫ ... ਹਾਲਾਂਕਿ, ਜੇ-ਸਟੇਟਮੈਂਟ ਨੂੰ ਮਨਮਾਨਜਨਕ ਗੁੰਝਲਤਾ ਨਾਲ ਪੁਨਰ ਨਿਪਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ.

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

Bash ਸ਼ੈੱਲ ਹੋਰ ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ -ਅੱਖੀਆਂ , ਜਦੋਂ ਕਿ-ਲੂਪਸ , ਅਤੇ ਅੰਕਗਣਿਤ ਸਮੀਕਰਨ .