Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab1 / lab1_1

.sh
Скачиваний:
1
Добавлен:
30.05.2025
Размер:
3.66 Кб
Скачать
#!/bin/bash

echo
echo
echo "example 1 echo"
echo Hello         World       !
echo "Hello         World       !"
echo *
echo *sh
echo *set*
echo "s*"

echo
echo
echo "example 2 printf"
printf "%s : %d" "Аудитория" 4132
echo
printf "%10s%10s" "String1" "String2"
echo
printf "%-10s%-10s" "String1" "String2"
echo
var=$(printf "%.*s" 11 "Bash scripting")
printf -v var "%.*s" 7 "Bash scripting"

echo
echo
echo "example 3 read"
echo "input line"
read line
echo $line
echo "input line1 line2"
read line1 line2
echo $line1$line2
echo "input line"
read -n 4 line
echo
echo $line
echo "input line"
read -d . line
echo
echo $line
echo "input line"
read
echo $REPLY

echo
echo
echo "example 4 variables"
x=10
echo $x
str="String value"
echo $str
words='Multiple words value'
echo $words
val1=10 val2=5
res=val1*val2
echo "val1*val2 -> $res"
res=$val1*$val2
echo "\$val1*\$val2 -> $res"
declare -i val3=10 val4=5
declare -i result2
result2=val3*val4
echo "declare -i: $result2"

echo
echo
echo "example 5 if"
if [ -d "Lection1.pdf" ]; then
    echo "Lection1.pdf is a directory"
else
    echo "Lection1.pdf is not a directory"
fi
read -p "Enter your department: " dept
if [ "$dept" = "inel" ]; then
    echo "Please proceed with doing the lab"
else
    echo "You are forbidden to proceed"
fi
read -p "Enter your department: " dept
if [[ $dept = in* ]]; then
    echo "You have an access to proceed"
else
    echo "Access denied"
fi
read -p "Enter x: " x
if [ $x = 0 ]; then
    echo "Zero"
else
    echo "Nonzero"
fi
read -p "Enter x: " x
if [ $x -eq 0 ]; then
    echo "Zero"
else
    echo "Nonzero"
fi
read -p "Enter x: " x
if [ $x -gt 0 ]; then
    echo "Positive"
else
    echo "Negative or zero"
fi
if [ $x -gt 0 ]; then
    echo "Positive"
else
    if [ $x -eq 0 ]; then
        echo "Zero"
    else
        echo "Negative"
    fi
fi
if [ $x -gt 0 ]; then
    echo "Positive"
elif [ $x -eq 0 ]; then
    echo "Zero"
else
    echo "Negative"
fi
if [ $x -lt 0 ] || [ $x -ne 0 ]; then
    echo "Nonzero"
else
    echo "Zero"
fi
if [ $x -le 0 ] && [ $x -ge 0 ]; then
    echo "Zero"
else
    echo "Nonzero"
fi

echo
echo
echo "example 6 case"
echo "Press a key: "
read -n 1 k
case "${k}" in
    [a-z] ) echo " lowercase letter" ;;
    [A-Z] ) echo " uppercase letter" ;;
    [0-9] ) echo " digit" ;;
    " "   ) echo " space" ;;
    "." | "," | ";" ) echo " separator" ;;
    * ) echo "Something different" ;;
esac

echo
echo
echo "example 7 for"
for i in 1 2 3 4 5
do
    echo "Value is $i"
done
echo
for i in {1..5}
do
    echo "Value is $i"
done
echo
for i in {0..20..2}
do
    echo "Value is $i"
done
echo
for (( c=1; c<=5; c++ ))
do
    echo "Value is $c"
done
echo
for ((;;))
do
    read var
    if [ $var = "." ]; then
        break
    fi
done

echo
echo
echo "example 8 seq"
seq -s " " 10
seq -s ":" 10
seq -s " " -w 10
seq -f "%.1f" -s " " 0 0.1 1
for i in $(seq 20)
do
    echo "Value is $i"
done
echo
for i in $(seq 1 2 20)
do
    echo "Value is $i"
done
echo

echo
echo
echo "example 9 while/until/select"
n=1
while [ $n -le 5 ]
do
    echo "Value while is $n"
    n=$(( n+1 ))
done
n=6
until [ $n -ne 6 ]
do
    echo "Value until is $n"
    n=$(( n+1 ))
done
a=10 b=5
echo "What should we do with variables a and b?"
select choice in Add Sub Mult Div Exit
do
    case $choice in
    Add ) echo "a+b=$(($a+$b))" ;;
    Sub ) echo "a-b=$(($a-$b))" ;;
    Mult ) echo "a*b=$(($a*$b))" ;;
    Div ) echo "a/b=$(($a/$b))" ;;
    Exit ) break
    esac
done

echo
echo
echo "example 10 array"
arr=(One Two Three Four Five Six Seven Eight Nine Ten Eleven)
for i in "${arr[@]}"; do
    echo $i
done
echo ${!arr[*]}
echo ${#arr[@]}
echo ${#arr[3]}

Соседние файлы в папке lab1