Linux Labs

Bash: обработка текста и скрипты / Ступень 5 из 9

Аргументы, кавычки и проверка файлов

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 5 из 7 · на машине · 4 мин

Скрипт копирования

Последний шаг — без готовых команд: скрипт, который справляется с именем с пробелом и отвечает на неправильный вызов.

В ~/args-lab лежит save.sh: shebang и договор в комментариях, тела нет. Допиши его в nano или vim. Проверяй каждый случай сам: с файлом, с каталогом, без аргумента — и сразу после каждого запуска echo $?. Проверка упражнения запустит скрипт и на путях, которых нет в задании.

Упражнение · сделать

Допиши скрипт копирования

В ~/args-lab допиши save.sh по договору из его комментариев. ./save.sh ФАЙЛ кладёт копию обычного файла в каталог backup под тем же именем и выходит с кодом 0. Без аргумента — строка Usage: save.sh FILE в поток ошибок и код 2. Аргумент — не обычный файл: сообщение в поток ошибок и код 1.

Войти и начать Машина доступна после входа

Цели · 0 из 3

  • Сохранить копию файла с пробелом в имени ещё не выполнена
  • Отвечать на вызов без аргумента по договору ещё не выполнена
  • Отказывать, если аргумент — не обычный файл ещё не выполнена

Цели шага

0 из 3
  • Сохранить копию файла с пробелом в имени — ещё не выполнена
  • Отвечать на вызов без аргумента по договору — ещё не выполнена
  • Отказывать, если аргумент — не обычный файл — ещё не выполнена
Ubuntu 24.04

Цели шага

0 из 3
  • Сохранить копию файла с пробелом в имени — ещё не выполнена
  • Отвечать на вызов без аргумента по договору — ещё не выполнена
  • Отказывать, если аргумент — не обычный файл — ещё не выполнена
Загрузка…