master
artemdolgiy 2021-09-15 16:13:10 +03:00
parent 3bb7a0b4ad
commit 496c5c2113
2 changed files with 66 additions and 0 deletions

View File

@ -185,3 +185,9 @@
1. Сброс пароля root.
***
**Глава 19. Написание shel скриптов.**
1. Написать скрипт, принимающий аргумент. Если аргумент - "yes", скрипт должен выполнить команду `echo that's nice`, если аргумент - "no", скрипт должен выполнить команду `echo I'm sorry to hear that`. Во всех остальных случаях - `echo unknown argument provided`
***

View File

@ -937,3 +937,63 @@ sh-4.4# touch /.autorelabel
- Дважды нажать `Ctrl+d` для перезагрузки
***
**Глава 19. Написание shel скриптов.**
1. Написать скрипт, принимающий аргумент. Если аргумент - "yes", скрипт должен выполнить команду `echo that's nice`, если аргумент - "no", скрипт должен выполнить команду `echo I'm sorry to hear that`. Во всех остальных случаях - `echo unknown argument provided`
- вариант 1 (if..elif..else..fi)
```bash
#!/bin/bash
# проверим, что аргумент присутствует
if [ -z $1 ]
then
echo you need provide an argument
exit 2
fi
# добавим регистронезависимость для аргумента
arg=$(echo $1 | tr [:upper:] [:lower:])
if [ $arg = yes ]
then
echo that\'s nice
elif [ "$arg" = "no" ]
then
echo "I'm sorry to hear that"
else
echo unknown argument provided
fi
```
- вариант 2 (case)
```bash
#!/bin/bash
# проверим, что аргумент присутствует
if [ -z $1 ]
then
echo you need provide an argument
exit 2
fi
# добавим регистронезависимость для аргумента
arg=$(echo $1 | tr [:upper:] [:lower:])
case $arg in
yes)
echo "that's nice"
;;
no)
echo "I'm sorry to hear that"
;;
*)
echo unknown argument provided
;;
esac
```
*не забыть сделать скрипт исполняемым `chmod +x script_name`*
***