 ## Latest Posts

1.  Write a bash script to find GCD and LCM of two number.

```#!/bin/bash
#find GCD  and LCM of two numbers
printf "Enter first  nuumber: "
printf "Enter second  nuumber: "
m=\$n1
n=\$n2
r=\$n2
while [ \$r -ne 0  ];do
r=\$(( n1%n2 ))
if [ \$r -eq 0 ];then
break
else
((n1=\$n2))
((n2=\$r))
fi
done
printf  "GCD of %d and %d is %d \n" \$m \$n \$n2
printf  "LCM Of %d and %d is %d \n" \$m \$n \$(((\$m*\$n)/\$n2))
```
Sample output:-
[zytham@s158519-vm scripts]\$ sh  pgssp1.sh
Enter first  nuumber: 30
Enter second  nuumber: 12
GCD of 30 and 12 is 6
LCM Of 30 and 12 is 60

2.Write a bash script to find GCD and LCM , provided input is passed via command line while executing this script (Pass command line arguments).
```#!/bin/bash
#find GCD of two numbers - input at runtime
n1=\$1
n2=\$2
m=\$n1
n=\$n2
r=\$n2
while [ \$r -ne 0  ];do
r=\$(( n1%n2 ))
if [ \$r -eq 0 ];then
#echo "GCD is \$n2"
break
else
((n1=\$n2))
((n2=\$r))
fi
done
printf  "GCD of %d and %d is %d \n" \$m \$n \$n2
printf "LCM Of %d and %d is %d \n" \$m \$n \$(((\$m*\$n)/\$n2))
```

Sample output:-
[zytham@s158519-vm scripts]\$ sh pgssp11.sh 30 12
GCD of 30 and 12 is 6
LCM Of 30 and 12 is 60

Explanation:- Here 30 and 12 are input to the bash script. It is accessed by script using \$1 and \$2. Here n1 is 30 and n2 os 20.

3. Write a bash script to find factorial of a number.

```#!/bin/bash
#find factorial of a number - input Passed as command line arguments
n=\$1 #Input passed via command line is stored in n
fact=1
for i in `seq 1 \$n`;do
((fact=fact*i))
done
printf "factorial of number %d is:  %d\n" \$n \$fact
```

Sample output:-
[zytham@s158519-vm scripts]\$ sh fact.sh 5
factorial of number 5 is:  120
[zytham@s158519-vm scripts]\$ sh fact.sh 13
factorial of number 13 is:  6227020800

4. WABS to find Binomial co-efficient of C(M,N) - value of the coefficient is given by the expression .
```#!/bin/bash
#find binomial coefficient of a two number - input Passed as command line arguments

#function to find factorial of a number-Pass input argument to function
function factorial
{
#echo \$1
n=\$1
fact=1
for i in `seq 1 \$n`;do
((fact=fact*i))
done
#printf "factorial of number %d is:  %d\n" \$n \$fact
}

M=\$1
N=\$2
#call function for finding factorial of M
factorial \$1
fact1=\$fact
#call function for finding factorial N
factorial \$2
fact2=\$fact
dif=\$((\$m-\$n))
#call function for finding factorial M-N
factorial \$dif
fact3=\$fact

bico=\$((\$fact1/(\$fact2*fact3)))
printf "Binomial coefficient of C(\$M \$N) is %d \n" \$bico
```

Sample output:-
[zytham@s158519-vm scripts]\$ sh bico.sh 9 3
Binomial coefficient of C(9 3) is 60480
[zytham@s158519-vm scripts]\$ sh bico.sh 8 4
Binomial coefficient of C(8 4) is 1680
[zytham@s158519-vm scripts]\$ sh bico.sh 5 2
Binomial coefficient of C(5 2) is 60

Explanation:- Two input is passed from command line and that is propagated to function one by one to find factorial of M , N and M-N. Similar to bash script function also access passed argument as \$1.

5. WABS to check numbe is perfect number or not - input passed from command line. ( A perfect number is a positive integer that is equal to the sum of its proper positive divisors, that is, the sum of its positive divisors excluding the number itself )
```#!/bin/bash
#To check perfect number or not input via command line
function perfectNumCheck
{
m=\$1
iter=\$((\$m-1))
sum=0
for i in `seq 1 \$iter`;do
if (( \$m%i==0)); then
sum=\$((sum + i))
fi
done
if [ \$sum -eq \$m ]; then
echo "perfect"
else
echo "Not perfect"
fi
}

perfectNumCheck \$1
```
Sample output:-
[zytham@s158519-vm scripts]\$ sh perfect.sh 4
Not perfect
[zytham@s158519-vm scripts]\$ sh perfect.sh 6
perfect
[zytham@s158519-vm scripts]\$ sh perfect.sh 28
perfect

6. WABS to generate fibonacci numbers. (Inpiut passed via command line for number of fibonacci to be generated)

```#!/bin/bash
#fibbonacci generation - Input via command line regarding how many fibbonacci number
function fibonacci
{
N=\$1
a=0
b=1
if [ \$N -eq 1 ]; then
printf 1
else
printf \$((a+b))
printf "\t"
while [ \$N -ne 1 ];do
sum=\$((\$a+\$b))
printf \$sum
printf "\t"
((a=\$b))
((b=\$sum))
((N=\$N-1))
done
fi
}
fibonacci \$1
printf "\n"
```

Sample output:-
[zytham@s158519-vm scripts]\$ sh pgssp5.sh  5
1 1 2 3 5
[zytham@s158519-vm scripts]\$ sh pgssp5.sh  8
1 1 2 3 5 8 13 21
[zytham@s158519-vm scripts]\$ sh pgssp5.sh  9
1 1 2 3 5 8 13 21 34

7. WABS to check given number is Armstrong number or not.
```#!/bin/bash
#check armstrong number
echo -n "Enter number : "
input=\$n
sum=0
while [ \$n -gt 0 ]; do
(( rem= n%10 ))
((sum=\$sum+(rem**3) ))
# echo \$sum
((n=n/10))
done
if [ \$input -eq \$sum ];then
echo "\$input is an armstrong number "
else
echo "\$input is not armstrong number "
```

Sample output:-
[zytham@s158519-vm scripts]\$ sh  ams.sh
Enter number : 153
153 is an armstrong number
[zytham@s158519-vm scripts]\$ sh  ams.sh
Enter number : 145
145 is not armstrong number

#### 1 comment:

1. 