Shell (Bash) — Могу ли я иметь полностью переносимые файлы .bash_profile/.bashrc/.bash_history?

Фон

Я веб-разработчик переднего плана, который начал переходить на PortableApps, где это возможно; по крайней мере, для настольных компьютеров, которые я использую (Windows), после сборки машины и необходимости переустанавливать Windows несколько раз.

Становится все более важным использовать командную строку с инструментами автоматизации сборки, тестировать программное обеспечение с помощью CLI и т. д.

Я только что получил портативные версии Git (Bash) и ConEmu, работающие с моего Dropbox (но в идеале это будет работать и с USB). Это означает, что у меня есть доступ к оболочке Unix в Windows с помощью Git, но .bash_profile (и .bashrc), который я сохранил, мне нужно вручную скопировать в каталог «~» (домашний) для каждой машины, которую я использую.

Вопрос

Есть ли способ связать мою портативную консоль с файлами bash, не расположенными в домашнем каталоге пользователя на каждой используемой машине?

Например, когда моя консоль открывается и ищет эти файлы, могу ли я попросить ее проверить другой каталог без настройки какой-либо конфигурации на каждой машине? А затем вместо этого сохранить .bash_history и здесь?


person Phil Gibbins    schedule 09.06.2016    source источник
comment
не знаю, работает ли он в Windows, но в Linux и Mac вы можете использовать git: dotfiles.github.io   -  person jbe    schedule 09.06.2016


Ответы (1)


Вы можете использовать символические ссылки для .bash_profile и .bashrc:

ln -s /path/to/.bashrc ~/.bashrc
ln -s /path/to/.bash_profile ~/.bash_profile

И внутри вашего .bashrc вы можете указать, где находится ваш файл истории :

export HISTFILE=/path/to/.bash_history

Я не думаю, что есть какой-либо способ иметь .bashrc и .bash_profile в вашем домашнем каталоге. Если вы не запустите bash с параметром --rcfile:

bash --rcfile /path/to/.bashrc

Существует также общесистемный файл, расположенный по адресу /etc/bashrc.

person andlrc    schedule 09.06.2016
comment
Приносим извинения за задержку ответа, но я попробовал это, и кажется, что когда я создаю символическую ссылку, содержимое является точным. Когда я затем меняю исходный файл (первоначально пробовал на другом жестком диске, а затем на том же), при открытии «~/.bash_profile» он по-прежнему показывает исходное содержимое? - person Phil Gibbins; 22.12.2016
comment
Приведенный выше комментарий относится к Windows, он не относится к Mac, и теперь у меня это отлично работает на Mac. Спасибо! Просто надеюсь, что я смогу заставить Windows работать так же! - person Phil Gibbins; 27.02.2017