Bash ਵਿਚ ਅੰਕਗਣਿਤ

ਬਾਸ਼ ਸਕਰਿਪਟ ਨੂੰ ਗਣਨਾ ਕਿਵੇਂ ਸ਼ਾਮਲ ਕਰੀਏ

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

"M = 4 * 1024" ਦਿਉ

4 ਗੁਣਾ 1024 ਦਾ ਗਣਿਤ ਕਰੇਗਾ ਅਤੇ ਨਤੀਜਾ ਵੇਰੀਏਬਲ "m" ਨੂੰ ਨਿਰਧਾਰਤ ਕਰੇਗਾ.

ਤੁਸੀਂ ਇਕੋ ਸਟੇਟਮੈਂਟ ਨੂੰ ਜੋੜ ਕੇ ਨਤੀਜਾ ਛਾਪ ਸਕਦੇ ਹੋ:

"m = 4 * 1024" ਈਕੁਏਲ ਡਾਲਰ $ ਦਿਉ

ਤੁਸੀਂ ਹੇਠ ਲਿਖੇ ਕੋਡ ਨੂੰ ਦਾਖਲ ਕਰਕੇ ਕਮਾਂਡ ਲਾਇਨ ਤੋਂ ਇਸ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ:

"m = 4 * 1024" ਦਿਉ "; echo $ m

ਤੁਸੀਂ ਬॅश ਕਮਾਂਡਾਂ ਵਾਲੇ ਇੱਕ ਫਾਈਲ ਵੀ ਬਣਾ ਸਕਦੇ ਹੋ, ਜਿਸ ਵਿੱਚ ਤੁਹਾਨੂੰ ਫਾਇਲ ਦੇ ਸਿਖਰ ਤੇ ਇੱਕ ਲਾਈਨ ਜੋੜਨੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਕੋਡ ਨੂੰ ਲਾਗੂ ਕਰਨ ਵਾਲੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ. ਉਦਾਹਰਣ ਲਈ:

#! / bin / bash ਦਿਉ "m = 4 * 1024" echo $ m

ਬੇਸ਼ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਮੰਨ ਕੇ / bin / bash ਵਿੱਚ ਸਥਿਤ ਹੈ. ਤੁਹਾਨੂੰ ਆਪਣੀ ਸਕ੍ਰਿਪਟ ਫਾਇਲ ਦੇ ਅਧਿਕਾਰਾਂ ਨੂੰ ਵੀ ਸੈੱਟ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਤਾਂ ਕਿ ਇਹ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਹੋਵੇ. ਸਕਰਿਪਟ ਫਾਇਲ ਦਾ ਨਾਂ ਮੰਨ ਕੇ script1.sh ਹੈ , ਤੁਸੀਂ ਕਮਾਂਡ ਨਾਲ ਫਾਇਲ ਚੱਲਣਯੋਗ ਬਣਾਉਣ ਲਈ ਅਧਿਕਾਰ ਸੈੱਟ ਕਰ ਸਕਦੇ ਹੋ:

chmod 777 script1.sh

ਉਸ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਕਮਾਂਡ ਨਾਲ ਇਸ ਨੂੰ ਚਲਾ ਸਕਦੇ ਹੋ:

./script1.sh

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

"M = a + 7" ਦਿਉ

ਜਾਂ ਘਟਾਉ:

"m = a - 7" ਦਿਉ

ਜਾਂ ਡਿਵੀਜ਼ਨ:

"m = a / 2" ਦਿਉ

ਜਾਂ ਮਾਡੂਲੋ (ਪੂਰਨ ਅੰਕ ਡਵੀਜ਼ਨ ਤੋਂ ਬਾਅਦ ਬਾਕੀ):

"m = a% 100" ਦਿਉ

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

"M + = 15" ਦਿਉ

ਜੋ ਕਿ "m = m + 15" ਦੇ ਬਰਾਬਰ ਹੈ. ਸਾਡੇ ਲਈ ਘਟਾਉ ਲਈ:

"m - = 3" ਦਿਉ

ਜੋ ਕਿ "m = m - 3" ਦੇ ਬਰਾਬਰ ਹੈ. ਵਿਭਾਜਨ ਲਈ ਸਾਡੇ ਕੋਲ ਹੈ:

"m / = 5" ਦਿਉ

ਜੋ ਕਿ "m = m / 5" ਦੇ ਬਰਾਬਰ ਹੈ. ਅਤੇ ਮਾਡੂਲੋ ਲਈ, ਸਾਡੇ ਕੋਲ ਹੈ:

"M% = 10" ਦਿਉ

ਜੋ ਕਿ "m = m% 10" ਦੇ ਬਰਾਬਰ ਹੈ.

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਤੁਸੀਂ ਵਾਧੇ ਅਤੇ ਘਾਟੇ ਦੇ ਪ੍ਰਭਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:

"M ++" ਦਿਉ

"m = m + 1" ਦੇ ਬਰਾਬਰ ਹੈ ਅਤੇ

"m--" ਦਿਉ

"m = m - 1" ਦੇ ਬਰਾਬਰ ਹੈ

ਅਤੇ ਫਿਰ ਤਿੰਨ-ਤਿੰਨ "ਸਵਾਲ ਦਾ ਨਿਸ਼ਾਨ-ਕੋਲੋਨ" ਓਪਰੇਟਰ ਹੁੰਦਾ ਹੈ, ਜੋ ਕਿ ਦੋ ਸਿਫ਼ਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਦਿੰਦਾ ਹੈ, ਇਹ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਦਿੱਤੀ ਗਈ ਸਥਿਤੀ ਸਹੀ ਹੈ ਜਾਂ ਝੂਠ ਹੈ. ਉਦਾਹਰਣ ਲਈ

"k = (m <9)" 0: 1 "

ਇਸ ਅਸਾਈਨਮੈਂਟ ਬਿਆਨ ਦਾ ਸੱਜਾ-ਹੱਥ ਪਾਸੇ "0" ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ ਜੇਕਰ ਵੇਰੀਏਬਲ "m" 9 ਤੋਂ ਘੱਟ ਹੈ. ਨਹੀਂ ਤਾਂ, ਇਹ 1 ਤੱਕ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ. ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ "k" ਨੂੰ "0" ਨਿਰਧਾਰਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜੇ "m" ਘੱਟ ਹੈ 9 ਤੋਂ ਅਤੇ "1" ਹੋਰ ਨਹੀਂ.

ਸਵਾਲ ਨਿਸ਼ਾਨ-ਕੋਲੋਨ ਅੋਪਰੇਟਰ ਦਾ ਆਮ ਤਰੀਕਾ ਹੈ:

ਸ਼ਰਤ? value-if-true: value-if-false

Bash ਵਿੱਚ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਆਰਗਮੈਟਿਕ

ਚਟਰ ਓਪਰੇਟਰ ਸਿਰਫ ਪੂਰਨ ਅੰਕ ਅੰਕਗਣਿਤ ਲਈ ਕੰਮ ਕਰਦਾ ਹੈ. ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਅਰਥਮੈਟਿਕ ਲਈ ਤੁਸੀਂ ਉਦਾਹਰਣ ਵਜੋਂ ਜੀਐਨਯੂ ਬੀਸੀ ਕੈਲਕੁਲੇਟਰ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜਿਵੇਂ ਕਿ ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ ਦਰਸਾਇਆ ਗਿਆ ਹੈ:

ਈਕੋ "32.0 + 1.4" | ਬੀਸੀ

"ਪਾਈਪ" ਆਪਰੇਟਰ "|" ਅੰਕਗਣਿਤ ਸਮੀਕਰਨ "32.0 + 1.4" ਨੂੰ ਬੀਸੀ ਕੈਲਕੂਲੇਟਰ ਪਾਸ ਕਰਦਾ ਹੈ, ਜੋ ਅਸਲ ਨੰਬਰ ਦਿੰਦਾ ਹੈ Echo ਕਮਾਂਡ ਨਤੀਜੇ ਨੂੰ ਸਟੈਂਡਰਡ ਆਉਟਪੁਟ ਤੇ ਪਰਿੰਟ ਕਰਦੀ ਹੈ.

ਅੰਕਗਣਿਤ ਲਈ ਵਿਕਲਪਕ ਸਿੰਟੈਕਸ

ਬੈਕਟਿਕਸ (ਬੈਕ ਸਿੰਗਿਕ ਕੋਟਸ) ਨੂੰ ਇਸ ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ ਅੰਕਗਣਿਤ ਸਮੀਕਰਨ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ:

ਈਕੋ 'ਐਕਸਪ੍ਰੋਪ $ m + 18`

ਇਹ ਪਰਿਭਾਸ਼ਿਤ "m" ਦੇ ਮੁੱਲ ਨੂੰ 18 ਜੋੜ ਦੇਵੇਗਾ ਅਤੇ ਫਿਰ ਨਤੀਜਾ ਛਾਪੋਗੇ.

ਇੱਕ ਪਰਿਵਰਤਨ ਨੂੰ ਗਣਨਾ ਦੇ ਆਧਾਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਤੁਸੀਂ ਇਸਦੇ ਆਲੇ ਦੁਆਲੇ ਦੇ ਖਾਲੀ ਸਥਾਨਾਂ ਦੇ ਬਰਾਬਰ ਨਿਸ਼ਾਨੀ ਵਰਤ ਸਕਦੇ ਹੋ:

m = `expr $ m + 18`

ਅੰਕਗਣਿਤ ਸ਼ਬਦਾਂ ਦਾ ਮੁਲਾਂਕਣ ਕਰਨ ਦਾ ਇਕ ਹੋਰ ਤਰੀਕਾ ਹੈ ਡਬਲ ਪੈਰੇਨੈਸਿਸ ਦੀ ਵਰਤੋਂ ਕਰਨੀ. ਉਦਾਹਰਣ ਲਈ:

((m * = 4))

ਇਹ ਵੇਰੀਏਬਲ "m" ਦੇ ਮੁੱਲ ਨੂੰ ਚਾਰ ਗੁਣਾ ਕਰ ਦੇਵੇਗਾ.

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