Используя Проявляют вместо Okular для альпийского (конфигурация MIME для средств просмотра PDF)

Единственным путем я могу думать для сокращения второй опции в Вашем вопросе:

for dir in /home/*;do
    [ -d $dir/tmp ] && mv -n $dir/t{,e}mp
done

но это покончило с удобочитаемостью несколько. Отметьте это t{,e}mp расширен оболочкой в эти два слова tmp и temp. Таким образом, командная строка была бы расширена до mv <contents of $dir>/tmp <contents of $dir>/temp. В целом оболочка расширяется prefix_{a,b,c}_suffix кому: prefix_a_suffix prefix_b_suffix prefix_c_suffix. Пустое положение, такое как первое в {,e} расширен в пустую строку.

Можно также сделать что-то похожее с perl:

perl -e '
    @a=grep {-d} glob "/home/*/tmp";
    map { rename $_ => $_=~ s/tmp\Z/temp" } @a
'

но я все еще поддерживаю, что Ваша исходная версия была достаточно хороша.

Править

Добавленный -n переключатель к mv гарантировать это не ударит $dir/temp если это существует, как отмечено в комментарии Michael Kjörling к вопросу. Версия Perl ударит temp если это существует.

3
16.01.2018, 23:18
2 ответа

Кажутся, что это игнорирует параметры настройки в расчете на пользователя. Можно изменить настройки в масштабе всей системы путем редактирования /etc/mailcap.order, синтаксис довольно прост:

first-choice-app-name:mime-type
second-choice-app-name:mime-type
...

, Таким образом, вы, вероятно, поместили:

evince-previewer:application/pdf
evince:application/pdf

(проявлять-программа-предварительного-просмотра является довольно новой, может не существовать в Хрипящем, но наличие его, там безопасно).

Затем вы работаете /usr/sbin/update-mime для обновления /etc/mailcap.

3
27.01.2020, 21:16

Alpine считывает настройки "mailcap" для каждого пользователя из ~ / .mailcap , которые перекрывают общесистемные / etc / mailcap . Так что просто поместите следующую строку в ~ / .mailcap :

application/pdf; evince %s
2
27.01.2020, 21:16

Теги

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