Как было кратко указано в комментариях , ping
отображает это сообщение в stderr, которое вы не перенаправляли. Сделайте это с помощью:
...
ping -c1 pi$i.local > /dev/null 2>&1
...
Не существует единственной опции конфигурации, которая заставляла бы Bash использовать файлы конфигурации в указанном каталоге. Вы можете использовать --rcfile
, чтобы указать Bash к заданному .bashrc
, как описано вman bash
:
--rcfile file
Execute commands from file instead of the standard
personal initialization file ~/.bashrc if the shell is
interactive (see INVOCATION below).
например:
bash --rcfile ~/.config/bash
Вы можете установить для переменной оболочки HISTFILE
значение ~/.cache/bashhistory
в~/.config/bash
:
HISTFILE=~/.cache/bashhistory
И вы всегда можете создать символическую ссылку на данный файл в ~/.config в случае других файлов конфигурации, например, для того, чтобы иметь возможность редактировать ~/.config/profile вместо~/.profile
:
ln -s ~/.profile ~/.config/profile
В крайнем случае вы также можете установить $HOME
на ~/.config
и поместить все файлы конфигурации с неизмененными именами в ~/.config, а затем просто запустите bash вот так:
$ echo HOME_CHANGED=1 >> ~/.config/.bashrc
$ HOME=~/.config bash
$ echo $HOME_CHANGED
1
(Обратите внимание, что $
здесь — командная строка подсказка используется для обозначения начала новой строки, а не части команды ).
Если вы не хотите использовать ссылки, вам придется пересобрать bash из исходного кода, исправив путь по умолчанию ~/.bashrc ~/.bash _профиля в shell.c.
Главный недостаток :вам придется периодически повторять этот процесс в соответствии с обновлениями bash...