Как переопределить / etc / nanorc systemwide?

Скомпилировать пакет или набор пакетов, подходящих для вашего distro (raspbian), а не просто сделать установку в /usr/local/ - пакеты (пакеты ) можно скопировать и установить с помощью стандартного средства управления пакетами dpkg для raspbian.

Эта компиляция может быть выполнена на вашем rpi с подходящей средой разработки или на более быстром и мощном компьютере (другом ARM-ящике, использующем тот же тип CPU - редкое и необычное оборудование) или скомпилирована на машине amd64.

-121--173915-

Используйте стиль ANSI C побега последовательности, $\n ' для указания новой строки:

% echo "$datetime"       
ExifMnoteCanon: Loading entry 0xcf27 ('(null)')...
ExifMnoteCanon: Loading entry 0x3ca8 ('(null)')...
ExifMnoteCanon: Loading entry 0xf88a ('(null)')...
2013:08:22 18:01:16

% echo "${datetime##*\n}"
ull)')...
2013:08:22 18:01:16

% echo "${datetime##*$'\n'}"
2013:08:22 18:01:16

В противном случае \n обрабатывается как литерал n .

-121--98812-

Странно, что нет такого легкого варианта. Но ваш связанный вопрос описывает его достаточно хорошо, а также делает связанный форум пост. самый простой способ, вероятно, создать такой сценарий:

#!/bin/bash
# Check for and install security updates if available

security_updates=$( dnf -q updateinfo list sec | awk '{print $3}' )
if [ -n "$security_updates" ]; then
   exit
fi
dnf upgrade $security_updates

Есть (очевидно) уже RFE bugzilla для этого, но все еще только обсуждается без реализации или решения.

0
27.09.2018, 06:04
2 ответа

Итак, /etc/nanorc.pacnewэто новый файл rc, поставляемый с новым обновлением дистрибутива? Как насчет

sed '/tabsize/ {s/^# *//; s/[0-9]*$/4/}' /etc/nanorc.pacnew > /etc/nanorc 

, тогда?

Другой возможный трюк может состоять в том, чтобы иметь символическую ссылку ~/.nanorcв домашнем каталоге каждого пользователя, указывающую на центральный файл с соответствующими командами.

по запросу:

sed '/tabsize/              # if the line matches "tabsize"
{s/^# *//;                  # remove "#" and trailing spaces from begin-of-line (BOL)
s/[0-9]*$/4/                # substitute any sequence of digits at EOL by "4"
}' /etc/nanorc.pacnew       # input file
> /etc/nanorc               # redirection to target file
3
28.01.2020, 02:31

Чтобы добавить к ответу RudiC, трюк со ссылкой работает! Это хорошо для глобальных переопределений, которые вам не нужно исправлять после, например. a do-release-upgradeв Ubuntu (, который может обновить файл /etc/nanorc).

Вот что я сделал.
Допустим, общий файл переопределения nanorc находится в/home-shared/.config/nano/nanorc
Затем просто привяжите его для каждого пользователя(su $USER):

mkdir -p ~/.config/nano &&
ln -s /home-shared/.config/nano/nanorc ~/.config/nano/nanorc

То же самое можно сделать и для пользователя root, поэтому это также применимо при использованииsudo nano...:

sudo mkdir -p /root/.config/nano &&
sudo ln -s /home-shared/.config/nano/nanorc /root/.config/nano/nanorc

В этом случае лучше убедиться, что связанный файл доступен для записи только пользователю root:

sudo chown root:root /home-shared/.config/nano/nanorc &&
sudo chmod 644 /home-shared/.config/nano/nanorc # 0644/-rw-r--r--

Пример файла nanorc, который мне нравится, чтобы сделать его более похожим на редакторы с графическим интерфейсом:

## Forget the used search/replace strings on the next session.
unset historylog
## Display line numbers to the left (and any anchors in the margin).
set linenumbers
## Disable vim-style lock-files.
unset locking
## Make the Home key smarter, toggling line-start / first non-whitespace position
set smarthome
## Spread overlong lines over multiple screen lines.
set softwrap
## Disallow nano to be suspended (with ^Z by default).
unset suspendable
## Use this tab size instead of the default; it must be greater than 0.
set tabsize 2
## Make nano have keybindings that are more "usual"
bind ^Q exit all
bind ^S savefile main
bind ^W writeout main
bind ^O insert main
bind ^H help all
bind ^H exit help
bind ^F whereis all
bind ^G findnext all
bind ^R replace main
bind ^X cut all
bind ^C copy main
bind ^V paste all
bind ^A mark main
bind ^Z undo main
bind ^Y redo main
1
29.10.2021, 23:27

Теги

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