Ошибка 1: echo PATH без знака доллара
Это самая частая ошибка при первом знакомстве с переменными.
Неправильно:
echo PATH
Вывод: PATH — буквальный текст, а не значение переменной.
Правильно:
echo $PATH
Вывод: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Правило: для чтения значения переменной ВСЕГДА ставьте $ перед именем: $PATH, $HOME, $MY_VAR.
Ошибка 2: Забытый grep -v grep
При поиске процессов через grep сам запущенный процесс grep тоже попадает в список ps -ef.
Неправильно:
ps -ef | grep root | wc -l
Результат будет завышен на 1 (или больше), потому что grep root сам является процессом и содержит слово «root» в командной строке.
Правильно:
ps -ef | grep root | grep -v grep | wc -l
grep -v grep исключает строки, содержащие слово «grep».
Ошибка 3: Путаница с регистром переменных
Bash чувствителен к регистру: MY_VAR и my_var — это РАЗНЫЕ переменные.
Пример ошибки:
export MY_VAR=hello
echo $my_var
Вывод: (пустая строка) — переменная my_var не определена.
Правило: следите за регистром. Системные переменные — всегда БОЛЬШИЕ буквы (
PATH, HOME). Свои переменные — тоже принято в БОЛЬШИХ буквах по соглашению.
Ошибка 4: Скрытый файл — имя начинается с точки
Файлы с именами, начинающимися с точки (.), являются скрытыми. Обычный ls их не показывает.
Пример ошибки: создали файл
process_management (без точки) вместо .process_management. При проверке через ls -la преподаватель не найдёт ДЗ-файл с нужным именем.
Правильно:
# Создать скрытый файл (точка в начале!)
touch .process_management
# Убедиться, что файл создан (нужен флаг -a для скрытых)
ls -la | grep process_management
Ошибка 5: Пробелы при объявлении переменной
Неправильно:
export MY_VAR = hello
Bash воспримет это как попытку запустить команду MY_VAR с аргументами = и hello.
Правильно:
export MY_VAR=hello
При объявлении переменной знак = пишется БЕЗ пробелов.