Как Ваша хижина и синтаксис указывает непортативный bash
, Я предпочитаю его этот путь:
function box_out()
{
local s="$*"
tput setaf 3
echo " -${s//?/-}-
| ${s//?/ } |
| $(tput setaf 4)$s$(tput setaf 3) |
| ${s//?/ } |
-${s//?/-}-"
tput sgr 0
}
Конечно, можно оптимизировать его, если Вы желаете.
Обновление согласно просьбе в комментарии, для обработки многострочного текста также.
function box_out()
{
local s=("$@") b w
for l in "${s[@]}"; do
((w<${#l})) && { b="$l"; w="${#l}"; }
done
tput setaf 3
echo " -${b//?/-}-
| ${b//?/ } |"
for l in "${s[@]}"; do
printf '| %s%*s%s |\n' "$(tput setaf 4)" "-$w" "$l" "$(tput setaf 3)"
done
echo "| ${b//?/ } |
-${b//?/-}-"
tput sgr 0
}
Назовите его с несколькими параметрами, как box_out 'first line' 'more line' 'even more line'
.
Как я могу отключить автоматическое монтирование, и чтобы оно пыталось монтировать только тогда, когда я
С помощью dconf-editor
отключить автоматическое монтирование, как описано здесь: Как отключить автомонтирование в настройках nautilus.
В качестве альтернативы выполните следующую команду:
gsettings set org.gnome.desktop.media-handling automount false
Это не тестировалось, но я наткнулся на эту страницу: автоматическое монтирование USB-накопителей на linux с udev и pmount
Общая идея состоит в том, что вы создаете действие UDEV, которое будет автоматически монтироваться с использованием pmount. Если вы посмотрите в комментариях, там есть punmount -l
, который выполнит ленивое размонтирование, что должно быть безопаснее.
выдержка
Вот решение для автоматического монтирования USB-флешек / карт памяти в Linux с использованием только udev и pmount.
добавьте файл
automount.rules
в/etc/udev/rules.d
.поместите в него следующие строки
# автоматическое монтирование USB-флешек # umask используется, чтобы позволить каждому пользователю писать на флешку # мы используем --sync для включения физическое удаление смонтированной памяти # флешки - это нормально для флеш-накопителей # Я не монтирую sda автоматически, так как в моей системе это внутренний жесткий диск # диск в зависимости от конфигурации вашего оборудования USB-накопители могут быть другими # устройствами, кроме sdb * ACTION == "add", KERNEL == "sdb *", RUN + = "/ usr / bin / pmount --sync --umask 000% k " ACTION ==" remove ", KERNEL ==" sdb * ", RUN + =" / usr / bin / pumount% k "{{1 }} ACTION == "add", KERNEL == "sdc *", RUN + = "/ usr / bin / pmount --sync --umask 000% k" ACTION == "remove", KERNEL = = "sdc *", RUN + = "/ usr / bin / pumount% k"
перезагрузите правила udev:
udevadm control --reload-rules
ПРИМЕЧАНИЕ: Если вы хотите сделать эту настройку более устойчивой к размонтированию, тогда вы захотите включить -l
для ленивого размонтирования в punmount
.
ACTION=="remove", KERNEL=="sda*", RUN+="/usr/bin/pumount -l %k"
Из справочной страницы pumount
:
-l, --lazy
Lazy unmount. Detach the filesystem from the filesystem hierarchy
now, and cleanup all references to the filesystem as soon as it is
not busy anymore. (Requires kernel 2.4.11 or later.)
IMPORTANT NOTES This option should not be used unless you really
know what you are doing, as chances are high that it will result
in data loss on the removable drive. Please run pumount manually
and wait until it finishes. In addition, pumount will not
luksClose a device which was unmounted lazily.