Почему это, “в то время как уничтожают-0$PID” и не, “пока не уничтожают-0$PID”?

Цель sudo должен выполнить команду, данную ему с полномочиями пользователя root.

Цель su должен переключить текущий пользовательский контекст. Это - в основном предшественник sudo. Если никакое имя пользователя не указано для su, то он переключается на корень.

Точно то, что сделает su, зависит от значения -something. Можно получить некоторое руководство путем взгляда на man su.

sudo su самостоятельно довольно общий прием для припадания до корневой оболочки, если по некоторым причинам sudo -i не доступно.

6
19.02.2015, 21:31
4 ответа

При работе с кодами возврата «0» - это успех и ненулевой нелевой. Синтаксис цикла в то время как:

while COMMANDS; do ...; done

A , в то время как оператор проверяет код возврата последней команды в предоставленном списке команд. В вашем последний пример в то время как 0 , это попытается выполнить команду, называемую «0», и проверьте его код возврата.

Литерал 0 не является особенным для Bash вне арифметического контекста. Внутри этого контекста 0 считается ложным. Например,

while (( 0 )); do
  ... # never executes
end

Этот случай особенный как ключевое слово (( рассматривается как команда, которая возвращает ненулевое значение, потому что это результат 0.

7
27.01.2020, 20:21

Оболочка не расширяется, как вы думаете.

В оболочке код ошибки 0 указал, что команда успешно завершена. Любой ненулевой код ошибки указал, что произошла ошибка.

Для более кратко POSIX определяют , в то время как цикл как:

цикл, когда цикл, должен постоянно выполнять один составный список, если Другой составной список имеет нулевой статус выхода.

Формат цикла в то время как следует следующим образом:

while compound-list-1
do
    compound-list-2
done

Соединение-списков-1 должно быть выполнено, и если он имеет ненулевой выход Состояние, когда команда пока завершится. В противном случае то Соединение-списков-2 должно быть выполнено, и процесс должен повторяться.

5
27.01.2020, 20:21

Код выхода не является логическим значением, является целым числом, по согласованию нулевое значение является успехом, поэтому вы думаете в отрицательной логике от точки зрения Баша

2
27.01.2020, 20:21

Я думаю, что частью проблемы является то, как вы определили свои переменные. Вместо того, чтобы писать это:

MAIN_DIR=/home/ec2-user/dir/
LAST_DIR=$(ls -d -t ${MAIN_DIR}*/ | head -1)

Я бы рекомендовал вам опустить завершающие / из MAIN _ DIR и использовать его там, где это необходимо:

MAIN_DIR=/home/ec2-user/dir
LAST_DIR=$(ls -d -t ${MAIN_DIR}/*/ | head -1)

Это, я подозреваю, может помочь вам определить, что происходит. Не видя, что находится внутри dir и bitcoin , я не могу предложить ничего более конкретного.

В качестве проблемы стиля, я бы также настоятельно рекомендовал вам цитировать переменные (и их значения), чтобы неожиданные места в значениях не нарушали ваш код:

MAIN_DIR='/home/ec2-user/dir'
LAST_DIR=$(ls -d -t "${MAIN_DIR}"/*/ | head -1)
-121--229959-

Разумно ожидать, что PlayOnLinux будет немного тяжелее собственного. PlayOnLinux полагается на вино, что приводит к целому уровню накладных расходов на виртуализацию.

Steam on otherhand - это скорее захватная сумка некоторых нативных игр и некоторых игр с винной оберткой, поэтому некоторые будут работать более гладко, чем другие, в зависимости от того, кто/как он был портирован.

Кроме того, разница между графическими драйверами opensource и драйверами-инициаторами может вызвать или нарушить игровой процесс.

Это лишь некоторые общие обобщения, некоторые особенности вашей игры/оборудования помогут.

Что такое настройка графического оборудования/драйвера? Если вы не уверены, это может помочь

lspci | grep VGA
-121--209952-

Команда «while» не ищет логического значения, она ищет код возврата «0», который указывает на успешное выполнение команды. В случае команды while команда, возвращающая 0, имеет значение «true», а все остальное - «false».

Даже при выполнении сравнения Баш воспринимает это как команду, которая возвращает успешный код ошибки (0), когда сравнение истинно.

5
27.01.2020, 20:21

Теги

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