This commit is contained in:
nik
2025-10-01 22:52:39 +03:00
parent 52eacca48c
commit c10f32f1a5
25 changed files with 337 additions and 0 deletions

3
labs/lab2/scripts/q.sh Executable file
View File

@@ -0,0 +1,3 @@
count=10
echo $(( count-- ))
echo $(( count-- ))

3
labs/lab2/scripts/script221.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
[ "$#" -ne 2 ] && echo "usage: $0 str1 str2" && exit 1
[ "$1" = "$2" ] && echo "equal" || echo "not equal"

9
labs/lab2/scripts/script222.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
[ "$#" -ne 3 ] && echo "usage: $0 a b c" && exit 1
a=$1
b=$2
c=$3
max=$a
(( b > max )) && max=$b
(( c > max )) && max=$c
echo "$max"

8
labs/lab2/scripts/script223.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
arr=()
while IFS= read -r line; do
[ "$line" = "q" ] && break
arr+=("$line")
done
printf "%s" "${arr[*]} "

9
labs/lab2/scripts/script224.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
count=0
while IFS= read -r n; do
r=$(( n % 2 ))
[ "$r" -eq 0 ] && break
count=$(( count + 1 ))
done
echo "$count"

17
labs/lab2/scripts/script225.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
for cmd in nano vi links; do
command -v "$cmd" >/dev/null 2>&1 || { echo "$cmd is not installed"; exit 1; }
done
echo "1) nano"
echo "2) vi"
echo "3) links"
echo "4) exit"
read -r -p "choose 1-4: " choice
case "$choice" in
1) exec nano ;;
2) exec vi ;;
3) exec links ;;
4) exit 0 ;;
*) echo "invalid choice" ; exit 1 ;;
esac

11
labs/lab2/scripts/script226.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
[ "$#" -ne 3 ] && echo "usage: $0 file h|t N" && exit 1
file=$1
mode=$2
num=$3
case "$mode" in
h) head -n "$num" -- "$file" 2>/dev/null ;;
t) tail -n "$num" -- "$file" 2>/dev/null ;;
*) echo "mode must be h or t" ; exit 1 ;;
esac

17
labs/lab2/scripts/script23.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
n=${1:-1000000}
command -v bc >/dev/null 2>&1 || { echo "bc is required"; exit 1; }
bench() {
printf 'scale=10\na=1.2345678901\nb=1.2345678901\nfor(i=0;i<%s;i++) x=a*b\n' "$n" | bc >/dev/null
}
start=$(date +%s.%N)
bench
end=$(date +%s.%N)
dur=$(echo "$end - $start" | bc -l)
flops=$(echo "$n / $dur" | bc -l)
printf "iterations=%s\ntime_s=%s\nFLOPS=%s\n" "$n" "$dur" "$flops"

6
labs/lab2/scripts/test Normal file
View File

@@ -0,0 +1,6 @@
1
2
3
4
5
6