add 19
parent
3bb7a0b4ad
commit
496c5c2113
6
labs.md
6
labs.md
|
@ -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`
|
||||
|
||||
***
|
||||
|
|
|
@ -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`*
|
||||
|
||||
***
|
||||
|
|
Loading…
Reference in New Issue