Red Hat System Administration II 8.2
В этом упражнении вы напишете простой сценарий Bash, содержащий последовательность команд, и запустите его из командной строки.
Результаты
Вы сможете:
написать и выполнить простой сценарий Bash;
направить вывод простого сценария Bash в файл.
Войдите на workstation
как пользователь student
с паролем student
.
На workstation
выполните команду lab console-write start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera
в сети. Сценарий выдаст предупреждение, если машина недоступна. Сценарий также установит пакет vim-enhanced (при необходимости).
[student@workstation ~]$
lab console-write start
На
workstation
установите SSH-подключение кservera
как пользовательstudent
. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.[student@workstation ~]$
ssh student@servera
...output omitted... [student@servera ~]$Создайте и выполните простой сценарий Bash.
С помощью текстового редактора vim создайте новый текстовый файл в домашнем каталоге и назовите его
firstscript.sh
.[student@servera ~]$
vim firstscript.sh
Вставьте следующий текст и сохраните файл. Обратите внимание, что количество символов решетки (#) произвольное.
#!/bin/bash echo "This is my first bash script" > ~/output.txt echo "" >> ~/output.txt echo "#####################################################" >> ~/output.txt
Выполните команду sh, чтобы запустить сценарий.
[student@servera ~]$
sh firstscript.sh
Просмотрите выходной файл, сформированный сценарием.
[student@servera ~]$
cat output.txt
This is my first bash script #####################################################
Добавьте в сценарий
firstscript.sh
дополнительные команды, выполните его и изучите вывод.С помощью текстового редактора vim отредактируйте файл
firstscript.sh
.[student@servera ~]$
vim firstscript.sh
Добавьте в конец файла
firstscript.sh
следующие строки, выделенные жирным шрифтом:#!/bin/bash # echo "This is my first bash script" > ~/output.txt echo "" >> ~/output.txt echo "#####################################################" >> ~/output.txt
echo "LIST BLOCK DEVICES" >> ~/output.txt echo "" >> ~/output.txt lsblk >> ~/output.txt echo "" >> ~/output.txt echo "#####################################################" >> ~/output.txt echo "FILESYSTEM FREE SPACE STATUS" >> ~/output.txt echo "" >> ~/output.txt df -h >> ~/output.txt echo "#####################################################" >> ~/output.txt
Сделайте файл
firstscript.sh
исполняемым с помощью команды chmod.[student@servera ~]$
chmod a+x firstscript.sh
Запустите сценарий
firstscript.sh
.[student@servera ~]$
./firstscript.sh
Просмотрите выходной файл, сформированный сценарием.
[student@servera ~]$
cat output.txt
This is my first bash script ##################################################### LIST BLOCK DEVICES NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 252:0 0 10G 0 disk └─vda1 252:1 0 10G 0 part / vdb 252:16 0 5G 0 disk ##################################################### FILESYSTEM FREE SPACE STATUS Filesystem Size Used Avail Use% Mounted on devtmpfs 892M 0 892M 0% /dev tmpfs 915M 0 915M 0% /dev/shm tmpfs 915M 17M 899M 2% /run tmpfs 915M 0 915M 0% /sys/fs/cgroup /dev/vda1 10G 1.5G 8.6G 15% / tmpfs 183M 0 183M 0% /run/user/1000 #####################################################
Удалите файлы упражнений и выйдите с
servera
.Удалите файл сценария
firstscript.sh
и выходной файлoutput.txt
.[student@servera ~]$
rm firstscript.sh output.txt
Выйдите с
servera
.[student@servera ~]$
exit
logout Connection to servera closed. [student@workstation ~]$
Упражнение завершено.