Это означает, что ваш установщик пакета используется каким-то другим процессом.
Самый простой способ избавиться от этого — убить процесс инициализации, т.е.
kill -9 -1
Предупреждение
Это выведет вас из системы уничтожит все процессы, так что сохраните для текущей работы
Метод неэффективный, но работает..
В crontab часть после спецификаций времени и до первого неэкранированного %
составляет код, который будет передан оболочке (в качестве аргумента после sh
и-c
). То, что идет после этого первого %
, составляет строки, которые будут переданы в эту оболочку через ее стандартный ввод.
Фактически, с помощью строки crontab, такой как:
* * * * * shell code%line 1%line 2
cron
каждую минуту делает эквивалент этого шелл-кода:
printf '%s\n' 'line 1' 'line 2' | sh -c 'shell code'
Таким образом, вы не можете использовать его для хранения символа новой строки в переменной этого shell code
.
Здесь, если вы хотите, чтобы новая строка сохранялась в переменной в этом коде, вы можете сделать
* * * * * eval "$(printf 'nl="\n"')"; echo "blah${nl}blah"
Однако вы можете сделать код просто sh
, а затем передать код на стандартный ввод:
* * * * * sh%nl='%'%echo "blah${nl}blah"
В этом случае cron
будет выполняться sh -c sh
, а стандартный ввод процесса, выполняющего этот sh
, выполняющий другой sh
, будет:
nl='
'
echo "blah${nl}blah"
Другой вариант — указать cron
использовать оболочку, которая поддерживает форму кавычек в стиле ksh93 -$'...'
(, например ksh93
/ zsh
/bash
)вместо sh
и делать:
SHELL=/bin/zsh
* * * * * nl=$'\n'; echo "blah${nl}blah"