You are on page 1of 4

1. Програма, която генерира факториел на дадено число N.

Като N е
параметър на скрипта!!!
Пример: ./Fact.sh 5
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Please, enter just one number as an argument."
exit 1
fi

factorial=1
echo -n "$1! = "
for((i=$1;i>=1;i-=1)); do
if [ $i -eq 1 ]; then
echo -n "$i = "
((factorial *= i))
else
echo -n "${i} * "
((factorial *= i))
fi
done

echo "$factorial"

2. Програма, която извежда на екрана числата кратни на 9.


#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Plese, enter just one argument!"
exit 1
fi

if [ "$1" -lt 9 ]; then


echo "Plese, enter a number that is greater than or equal to 9!"
else
for ((i=9; i<$1; i+=9)); do
echo -n "$i "
done
echo
fi
3. Програма, която намира сбора на числата от 1 до 1000.
#!/bin/bash

sum=0
for((i=1;i<=1000;i+=1)); do
((sum+=i))
done

echo "The sum of integers from 1 to 1000 is: $sum."

4. Да се напише програма, която отпечатва числата от 1 до n със


стъпка 3.
Пример: ако n = 100, то резултатът ще е: 1, 4, 7, 10, …, 94, 97,
100.
#!/bin/bash

read -p "Please enter a value for n: " n


for((i=1;i<=n;i+=3)); do
echo -n "$i "
done

5. Да се напише програма, която отпечатва числата от n до 1 в


обратен ред (стъпка -1).
Пример: ако n = 100, то резултатът ще е: 100, 99, 98, …, 3, 2, 1.
#!/bin/bash

read -p "Please enter a value for n: " n


for((i=n;i>=1;i-=1)); do
echo -n "$i "
done

6. Програма, която извежда на екрана числата от 1 до 10. Като за


всяко число „замразете“ (pause) конзолата за време стойността на
числото в секунди.
#!/bin/bash

for((i=1;i<=10;i+=1)); do
echo "Number: $i"
sleep $i
done
7. Програма калкулатор посредством Case оператор. Входът на данни се
извършва чрез параметри както следва:
A-събиране,S-изваждане,D- деление и M-умножение.
Пример: ./calk.sh 5 A 10
#!/bin/bash
if [ "$#" -ne 3 ]; then
echo "Please, enter exactly 3 arguments!"
exit 1
fi

number1=$1
operator=$2
number2=$3

case "${operator}" in
A)
result=$(echo "scale=2; $number1 + $number2" | bc)
echo "$number1 + $number2 = $result"
;;
S)
result=$(echo "scale=2; $number1 - $number2" | bc)
echo "$number1 - $number2 = $result"
;;
M)
result=$(echo "scale=2; $number1 * $number2" | bc)
echo "$number1 * $number2 = $result"
;;
D)
if [ $number2 -eq 0 ]; then
echo "Error! Can't divide to 0!"
else
result=$(echo "scale=2; $number1 / $number2" | bc)
echo "$number1 / $number2 = $result"
fi
;;
*)
echo "Error! The available operators are: A, S, M and D."
;;
esac
8. Програма, намираща броя на редовете и символите във файл.
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Please, enter exactly one argument - the name of the file"
exit 1;
fi

filename=$1

if [ ! -f "$filename" ]; then
echo "Error. The file $filename does not exist!"
exit 1
fi
lines=$(wc -l < $filename)
characters=$(wc -c < $filename)
echo "The count of lines is: $lines"
echo "The count of characters is: $characters"

9. Програма, която създава списък от файловете в текущата директория


и техния брой.
#!/bin/bash

files=$(ls)
file_count=$(ls | wc -l)

echo "The list of all files in the current directory is:"


echo "$files"
echo "Count of files: $file_count"

10. Програма която създава файл с име текущата дата във формат
DD/MM/YYYY. Като се изисква проверка дали файлът съществува преди
това!!! Ако файлът съществува, изведете съобщение в конзолата.
#!/bin/bash
filename=$(date "+%d\%m\%Y")
if [ -f $filename ]; then
echo "The file $filename already exists."
exit 1
fi

touch $filename
echo "A file called $filename is created."

You might also like