с использованием else if в псевдониме bash (домашнее задание)

Это потому, что sudo -s запускает корневую оболочку, и именно там вы окажетесь после ввода пароля. Если вы затем выйдете из оболочки, вы увидите код , который требует sudo :

$ foo.sh
Code that don't need sudo.
[sudo] password for terdon: 
[root@tpad terdon]# exit
Code that need sudo

В общем, во всех сценариях, когда вы говорите ему запустить команду, сценарий продолжит выполнение только после команды закончил. Итак, когда ваш скрипт запустил sudo -s , он дождался его завершения, прежде чем продолжить. Вот почему текст был напечатан после того, как я запустил exit (или нажал ctrl + D ).

1
13.04.2018, 00:21
0 ответов

Теги

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