Skip to content

Практические Упражнения - Краткое Описание Сценариев Оболочки

Упражнение 1:

Напишите сценарий оболочки, который выводит на экран надпись "Сценарии оболочки - это весело!". Подсказка 1: Не забудьте сделать сценарий оболочки исполняемым с помощью команды chmod. Подсказка 2: Не забудьте начать свой сценарий с шутки!

#!/bin/bash
echo "Сценарии оболочки - это весело!"

Упражнение 2:

Измените сценарий оболочки из упражнения 1, чтобы включить переменную. Переменная будет содержать содержимое сообщения "Сценарии оболочки - это весело!".

#!/bin/bash
MESSAGE="Сценарии оболочки - это весело!"
echo "$MESSAGE"

Упражнение 3:

Сохраните выходные данные команды "имя хоста" в переменной. Отобразите "Этот скрипт выполняется на _______". где "_______" - это вывод команды "имя хоста". Подсказка: Рекомендуется использовать синтаксис ${VARIABLE}, если есть текст или символы, которые непосредственно предшествуют или следуют за переменной.

#!/bin/bash
HOST_NAME=$(hostname)
echo "Этот сценарий выполняется на ${HOST_NAME}."

Упражнение 4:

Напишите сценарий оболочки, чтобы проверить, существует ли файл "/etc/shadow". Если он существует, отобразите "Теневые пароли включены". Затем проверьте, можете ли вы записать в файл. Если вы можете, отобразите "У вас есть разрешения на редактирование /etc/shadow". **Если вы не можете, отобразите **"У вас нет разрешений на редактирование /etc/shadow".

#!/bin/bash

FILE="/etc/shadow"

if [ -e "$FILE" ]
then
  echo "Теневые пароли включены."
fi

if [ -w "$FILE" ]
then
  echo "У вас есть разрешения на редактирование ${FILE}."   
else
  echo "У вас нет разрешений на редактирование  ${FILE}."
fi
LinuxTrainingAcademy.com

Упражнение 5:

#!/bin/bash
for ANIMAL in man bear pig dog cat sheep
do
  echo "$ANIMAL"
done

Напишите сценарий оболочки, который выводит на экран "человека", "медведя", "свинью", "собаку", "кошку" и овец с каждый появляется в отдельной строке. Постарайтесь сделать это в как можно меньшем количестве строк. Подсказка: Циклы можно использовать для выполнения повторяющихся задач.

Упражнение 6:

Напишите сценарий оболочки, который запрашивает у пользователя имя файла или каталога и сообщает, является ли это обычным файлом, каталогом или файлом другого типа. Также выполните команду lsдля файла или каталога с опцией длинного списка.

#!/bin/bash

read -p "Введите путь к файлу или каталогу: " FILE

if [ -f "$FILE" ]
then
    echo "$FILE - это обычный файл."
elif [ -d "$FILE" ]
then
    echo "$FILE - это каталог."
else
    echo "$FILE - это нечто иное, чем обычный файл или каталог."
fi

ls -a1 $FILE

Упражнение 7:

Измените предыдущий сценарий таким образом, чтобы он принимал имя файла или каталога в качестве аргумента, а не предлагал пользователю ввести его.

#!/bin/bash

FILE=$1

if [ -f "$FILE" ]
then
  echo "$FILE - это обычный файл."
elif [ -d "$FILE" ]
then
  echo "$FILE - это каталог."
else
  echo "$FILE - это нечто иное, чем обычный файл или каталог."
fi

ls -l $FILE

Упражнение 8:

Измените предыдущий сценарий, чтобы принять неограниченное количество файлов и каталогов в качестве аргументов. **Подсказка: **Вы захотите использовать специальную переменную.

#!/bin/bash

for FILE in $@
do
  if [ -f "$FILE" ]
  then
    echo "$FILE - это обычный файл".
  elif [ -d "$FILE" ]
  then
    echo "$FILE - это каталог."
  else
    echo "$FILE - это нечто иное, чем обычный файл или каталог".
  fi

  ls -l $FILE
done
Back to top