1. Главная
  2. /
  3. Linux
  4. /
  5. shell
  6. /
  7. bash проверки существования файла, директории, пользователя

bash проверки существования файла, директории, пользователя

Проверка существования файла:

if ! [ -f /path/to/file ]; then
echo 'No file'
fi

Проверка существования директории:

if ! [ -d /path/directory/ ]; then
echo 'No directory'
fi

Проверка существования пользователя:

grep "username:" /etc/passwd >/dev/null
if [ $? -ne 0 ]; then
echo 'No username found'
fi

Поделиться ссылкой на статью

4 комментария. Оставить новый

  • Дмитрий
    30.03.2017 13:02

    Вот так будет самый точный поиск пользователя:
    grep «^test1:» /etc/passwd
    grep «test1:» /etc/passwd
    test1:x:999:1003:Hi the test1:/home/test1:/bin/bash
    test-test1:x:997:1003:Hi the test-test1:/home/test1:/bin/false
    test1www:x:996:1003:Hi the test1www:/home/test1:/bin/false
    root@HostPanel:~# grep «^test1:» /etc/passwd
    test1:x:999:1003:Hi the test1:/home/test1:/bin/bash

    Ответить
  • Пользователь
    16.01.2017 18:49

    grep -x #полное совпадение

    Ответить
  • username
    04.04.2014 10:34

    Эм, а на практике проверял код?
    Только что создал тестовый файлик с кодом
    grep «test2» /etc/passwd >/dev/null
    if [ $? -ne 0 ]; then
    echo ‘No username found’
    fi
    проверяем:
    username@username-PC:~$ bash usr.sh
    No username found
    username@username-PC:~$ sh usr.sh
    No username found

    Ответить
  • Проверка существования пользователя не точная:
    если существует пользователь, например, test2
    А grep ищем несуществующего пользователя test, то его найдет.

    Ответить

Добавить комментарий для username Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Категории

Меню