Вам нужно использовать $
для расширения temp в оболочке. (Поскольку ваш сценарий написан, вы пытаетесь сравнить литеральную строку temp
с целым числом0
). Вы также должны процитировать его:
x=5.44
p=0
temp=$(printf "%.*f\n" $p $x)
echo "$temp"
if [ "$temp" -gt 0 ]
then
echo "inside"
fi
Если вы используете bash, лучшим способом сделать это будет использование арифметического выражения bash, например:
x=5.44
p=0
temp=$(printf "%.*f\n" $p $x)
echo "$temp"
if ((temp>0)); then
echo "inside"
fi
Внутри арифметического выражения ((…))
вам не нужен $
для расширения, и вы не можете заключать в кавычки.
Я считаю, чтоapt remove
является эквивалентом Debian для Arch pacman -Qdtq
, который просто запрашивает пакеты, которые больше не требуются в качестве зависимостей. Чтобы удалить их, я подозреваю, вам придется запустить что-то вроде
apt remove $(apt autoremove)
(что касается Arch, вам нужно запустить что-то вродеpacman -R $(pacman -Qdtq)
).
Что касается автоматического удаления этих пакетов, я не уверен в изменении конфигурации apt
, но вы можете добавить приведенную выше строку в свой .bashrc
.
Отказ от ответственности :Я не делал этого в Debian, но я использовал Arch, чтобы делать то, что вы хотите.
Ваш пакет Bar
, вероятно, закончился в состоянии manual
, а не в auto
, что можно подтвердить, если он найден в выводе команды:
apt-mark showmanual
и поэтому больше не обрабатывается apt-get autoremove
.
Для поиска таких пакетов можно использовать инструментdeborphan
из пакета deborphan
. Он не использует статус пакета manual
для своей эвристики.
program that can find unused packages, e.g. libraries
deborphan finds "orphaned" packages on your system. It determines which packages have no other packages depending on their installation and shows you a list of these packages. It is most useful when finding libraries, but it can be used on packages in all sections.
Имейте в виду, что это также может давать ложные срабатывания, особенно для библиотек плагинов, (библиотеки, которые можно удалить, не вызывая проблем с зависимостями, но их удаление где-то удалит функцию ).
Вы можете использовать результаты, полученные с помощью deborphan
, чтобы удалить пакеты самостоятельно, или пометить их обратно как auto
с помощью
apt-mark auto package1 package2...
для дальнейшей обработки apt-get autoremove
.