Простой вопрос о судо су -

Возвращаемое значение сохраняется в $?. 0 указывает на успех, другие указывают на ошибку.

some_command
if [ $? -eq 0 ]; then
    echo OK
else
    echo FAIL
fi

Как и любое другое текстовое значение, вы можете сохранить его в переменной для будущего сравнения:

some_command
retval=$?
do_something $retval
if [ $retval -ne 0 ]; then
    echo "Return code was not zero but $retval"
fi

Для возможных операторов сравнения, см. man test.

1
задан 5 December 2014 в 11:42

1 ответ

Кажется, что здесь работает sudo su - [user],

$ sudo su - jerk
jerk ~ $ whoami
jerk

, хотя su manpage говорит, что - должен быть последним вариантом

       When - is used, it must be specified as the last su option. The other forms (-l
       and --login) do not have this restriction.

Если I попробуйте, чтобы я получил эти ошибки, но он по-прежнему работает для входа в систему как [пользователь]:

$ sudo su  [user] -
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

Работает ли sudo нормально? Может быть, он не работает ...?

0
ответ дан 24 May 2018 в 01:18
  • 1
    Я полагаю, что «последний вариант» означает последний аргумент параметра (su -m user - будет иметь -m и - в качестве параметров, но user будет аргументом без опции). – muru 5 December 2014 в 07:53
  • 2
    Я думаю, ты здесь. Все еще немного запутанное описание. – Xen2050 5 December 2014 в 15:04

Другие вопросы по тегам:

Похожие вопросы: