Red Hat System Administration II 8.2

Упражнение под руководством преподавателя: Написание простых сценариев Bash

В этом упражнении вы напишете простой сценарий Bash, содержащий последовательность команд, и запустите его из командной строки.

Результаты

Вы сможете:

  • написать и выполнить простой сценарий Bash;

  • направить вывод простого сценария Bash в файл.

Войдите на workstation как пользователь student с паролем student.

На workstation выполните команду lab console-write start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera в сети. Сценарий выдаст предупреждение, если машина недоступна. Сценарий также установит пакет vim-enhanced (при необходимости).

[student@workstation ~]$ lab console-write start
  1. На workstation установите SSH-подключение к servera как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$ 
  2. Создайте и выполните простой сценарий Bash.

    1. С помощью текстового редактора vim создайте новый текстовый файл в домашнем каталоге и назовите его firstscript.sh.

      [student@servera ~]$ vim firstscript.sh
    2. Вставьте следующий текст и сохраните файл. Обратите внимание, что количество символов решетки (#) произвольное.

      #!/bin/bash
      echo "This is my first bash script" > ~/output.txt
      echo "" >> ~/output.txt
      echo "#####################################################" >> ~/output.txt
      
    3. Выполните команду sh, чтобы запустить сценарий.

      [student@servera ~]$ sh firstscript.sh
    4. Просмотрите выходной файл, сформированный сценарием.

      [student@servera ~]$ cat output.txt
      This is my first bash script
      
      #####################################################
  3. Добавьте в сценарий firstscript.sh дополнительные команды, выполните его и изучите вывод.

    1. С помощью текстового редактора vim отредактируйте файл firstscript.sh.

      [student@servera ~]$ vim firstscript.sh
    2. Добавьте в конец файла 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
      
    3. Сделайте файл firstscript.sh исполняемым с помощью команды chmod.

      [student@servera ~]$ chmod a+x firstscript.sh
    4. Запустите сценарий firstscript.sh.

      [student@servera ~]$ ./firstscript.sh
    5. Просмотрите выходной файл, сформированный сценарием.

      [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
      #####################################################
  4. Удалите файлы упражнений и выйдите с servera.

    1. Удалите файл сценария firstscript.sh и выходной файл output.txt.

      [student@servera ~]$ rm firstscript.sh output.txt
    2. Выйдите с servera.

      [student@servera ~]$ exit
      logout
      Connection to servera closed.
      [student@workstation ~]$ 

Конец

На workstation запустите сценарий lab console-write finish, чтобы закончить упражнение.

[student@workstation ~]$ lab console-write finish

Упражнение завершено.