
Добавил:
deadpigeon
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab1 / lab1_1
.sh#!/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]}