Практические Упражнения - Краткое Описание Сценариев Оболочки¶
Упражнение 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
Упражнение 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