Если я буду работать с sudo
Я не могу kill %1
их (операция не разрешена). Моей первой мыслью было использовать sudo kill %1
вместо этого, но это, конечно, тоже не работает, потому что он не будет использовать встроенный bash kill
. Есть ли уловка, чтобы заставить эту работу работать?
// Я знаю, как убить процесс через его PID. Вопрос конкретно в том, как использовать идентификатор задания, чтобы убить задание sudo.
sudo kill "$(jobs -p %1)"
Это плохой вопрос, и тебе должно быть плохо.
НОТА: Технически двойные кавычки здесь не нужны, потому что мы знаем вывод jobs
будет PID и не будет содержать никаких символов в $IFS
. Однако использование переменных в кавычках - это всегда хорошая привычка. И чтобы гарантировать, что вы последовательно используете методы качественного кодирования, они должны быть укоренившимися привычками. $(...)
используется вместо обратных кавычек, потому что обратные кавычки - это старый способ действий, и они менее заметны. $(...)
это новая горячность, условно говоря. В этом случае новой горячности несколько десятилетий.