Проверка существования файла:
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 комментария. Оставить новый
Вот так будет самый точный поиск пользователя:
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
grep -x #полное совпадение
Эм, а на практике проверял код?
Только что создал тестовый файлик с кодом
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, то его найдет.