Red Hat System Administration II 8.2
В этом упражнении вы будете использовать циклы для вывода имени хоста с нескольких серверов.
Результаты
Вы сможете создать цикл for для перебора элементов списка из командной строки и в сценарии командной оболочки.
Войдите на workstation как пользователь student с паролем student.
На workstation выполните команду lab console-commands start. Эта команда запускает подготовительный сценарий, который проверяет доступность хостов servera и serverb в сети. Сценарий выдаст предупреждение, если они недоступны.
[student@workstation ~]$lab console-commands start
С помощью команд ssh и hostname отправьте имена хостов
serveraиserverbв стандартный поток вывода.[student@workstation ~]$ssh student@servera hostnameservera.lab.example.com[student@workstation ~]$ssh student@serverb hostnameserverb.lab.example.comСоздайте цикл for для более эффективного выполнения этой же задачи.
[student@workstation ~]$for HOST in servera serverb do ssh student@${HOST} hostname doneservera.lab.example.com serverb.lab.example.comСоздайте сценарий командной оболочки для выполнения этого же цикла for.
Создайте каталог
/home/student/binдля сценария командной оболочки.[student@workstation ~]$mkdir ~/binУбедитесь, что созданный каталог есть в вашей переменной среды
PATH.[student@workstation ~]$echo $PATH/home/student/.local/bin:/home/student/bin::/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbinСоздайте в
/home/student/bin/printhostname.shсценарий командной оболочки для выполнения цикла for. С помощью команды cat проверьте содержимое файлаprinthostname.sh.[student@workstation ~]$vim ~/bin/printhostname.sh[student@workstation ~]$cat ~/bin/printhostname.sh#!/bin/bash #Execute for loop to print server hostname. for HOST in servera serverb do ssh student@${HOST} hostname done exit 0Убедитесь, что созданный сценарий является исполняемым.
[student@workstation ~]$chmod +x ~/bin/printhostname.shЗапустите сценарий из домашнего каталога.
[student@workstation ~]$printhostname.shservera.lab.example.com serverb.lab.example.comУбедитесь, что код завершения сценария ― 0.
[student@workstation ~]$echo $?0