Для ошибки:
eval: 1: /tmp/mathworks_11425/sys/java/jre/glnxa64/jre/bin/java: Permission denied
Вы должны предоставить разрешения для запуска java (кредиты для http://kittipatkampa.wordpress.com/2012/02/12/matlab-on- ubuntu-from-install-make-launch-icon-to-uninstall /)
После выполнения шагов Mahesh перейдите в папку
cd sys/java/jre/glnxa64/jre/bin/ (the folder that appears in your error message)
, а затем [!d4 ]
chmod +x java
Готов к работе. Вернитесь туда, где находится ваш установочный файл, и введите
sudo sh install
. Установка будет (надеюсь) запуска.
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
[d4 ] Т.е. в вашем .bashrc поместите:source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
Т.е. в вашем .bashrc поместите:
source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
Т.е. в вашем .bashrc поместите:
source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
Т.е. в вашем .bashrc поместите:
source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
Т.е. в вашем .bashrc поместите:
source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
Т.е. в вашем .bashrc поместите:
source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir -p ~/Dropbox/dotfiles
mv ~/.bashrc ~/Dropbox/dotfiles/.bashrc
ln -s ~/Dropbox/dotfiles/.bashrc ~/.bashrc
На самом деле у меня довольно много дотфайлов в моя домашняя папка, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, который будет использоваться вашим .bashrc:
Т.е. в вашем .bashrc поместите:
source $HOME/Dropbox/dotfiles/bashrc-shared-settings
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc.
(Вы также можете сокращать source как только . в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc
в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir - p ~ / Dropbox / dotfiles mv ~ / .bashrc ~ / Dropbox / dotfiles / .bashrc ln -s ~ / Dropbox / dotfiles / .bashrc ~ / .bashrc
На самом деле у меня довольно несколько dotfiles в моей домашней папке, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, чтобы получить его .bashrc
:
То есть, в вашем .bashrc
, put:
source $ HOME / Dropbox / dotfiles / bashrc-shared-settings [ ! d4]
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc
.
(Вы также можете аббревиатура source
как .
в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc
в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir - p ~ / Dropbox / dotfiles mv ~ / .bashrc ~ / Dropbox / dotfiles / .bashrc ln -s ~ / Dropbox / dotfiles / .bashrc ~ / .bashrc
На самом деле у меня довольно несколько dotfiles в моей домашней папке, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, чтобы получить его .bashrc
:
То есть, в вашем .bashrc
, put:
source $ HOME / Dropbox / dotfiles / bashrc-shared-settings [ ! d4]
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc
.
(Вы также можете аббревиатура source
как .
в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc
в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir - p ~ / Dropbox / dotfiles mv ~ / .bashrc ~ / Dropbox / dotfiles / .bashrc ln -s ~ / Dropbox / dotfiles / .bashrc ~ / .bashrc
На самом деле у меня довольно несколько dotfiles в моей домашней папке, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, чтобы получить его .bashrc
:
То есть, в вашем .bashrc
, put:
source $ HOME / Dropbox / dotfiles / bashrc-shared-settings [ ! d4]
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc
.
(Вы также можете аббревиатура source
как .
в bash.)
Я не вижу никаких реальных последствий, но, полагаю, это зависит от того, что у вас есть! Если это просто быстрые псевдонимы, которые работают одинаково везде, а также косметические вещи, я не вижу никаких проблем.
Вы можете либо просто перенести свой .bashrc
в место где-нибудь в папке Dropbox, а затем символически привязать его к каждой из машин.
mkdir - p ~ / Dropbox / dotfiles mv ~ / .bashrc ~ / Dropbox / dotfiles / .bashrc ln -s ~ / Dropbox / dotfiles / .bashrc ~ / .bashrc
На самом деле у меня довольно несколько dotfiles в моей домашней папке, которые на самом деле являются символическими связями с общими папками в моей учетной записи Dropbox.
Еще один вариант заключается в том, что вы можете создать файл внутри вашей папки с Dropbox, чтобы получить его .bashrc
:
То есть, в вашем .bashrc
, put:
source $ HOME / Dropbox / dotfiles / bashrc-shared-settings [ ! d4]
, а затем создайте файл настроек bashrc-shared-settings, который вы хотите использовать на всех машинах, и вы можете сохранить отдельные файлы .bashrc
.
(Вы также можете аббревиатура source
как .
в bash.)
Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.
Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:
if [ -f ~/.foo ]; then
. ~/.foo
fi
Где ~ / .foo - это отдельный файл.
Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:
export HOSTNAME=`hostname | cut -f1 -d'.'`
if [ -f ~/.bash/os/$OSTYPE.sh ]; then
source ~/.bash/os/$OSTYPE.sh
fi
if [ -f ~/.bash/host/$HOSTNAME.sh ]; then
source ~/.bash/host/$HOSTNAME.sh
fi
Затем создайте .bash-каталог и os и host каталоги под этим и помещать любые пользовательские настройки в файлы, называемые & lt; whatever & gt; .sh, где & lt; whatever & gt; это тип os или хост, который вы хотите настроить.
Я сохраняю все эти файлы в dropbox, и у меня есть сценарий bash под названием .bash в папке Dropbox, которая помогает мне для облегчения их связывания в:
#!/bin/bash
#Array of <source><space><link> target->symlink mappings
linkarray=( "~/Dropbox/config/bashrc ~/.bashrc"
"~/Dropbox/config/bash ~/.bash"
"~/Dropbox/config/vimrc ~/.vimrc"
"~/Dropbox/config/vim ~/.vim"
"~/Dropbox/config/ssh ~/.ssh"
"~/Dropbox/config/screenrc ~/.screenrc"
"~/Dropbox/bin ~/bin" )
#turn off globbing to split each entry on spaces
set -f
for entry in "${linkarray[@]}"
do
targets=( $entry )
#eval will expand the tildes
eval from=${targets[0]}
eval to=${targets[1]}
#if the target exists and is not a symlink, err on the side of caution
if [ -e "$to" -a ! -L "$to" ]
then
echo "$to exists and is not a link, skipping..."
else
#probably safe to delete an existing symlink
if [ -e "$to" ]
then
rm $to
fi
ln -s $from $to
fi
done
Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).
Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.
if [ -f ~/.bashrc_local ]; then
. ~/.bashrc_local
fi
Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.
Создайте файл с вашими общими настройками bash в папке Dropbox. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню «Dropbox». Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Ваша общая ссылка теперь будет похожа на мою: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 Добавьте эту строку в ~ / .bashrc source $HOME/.bash_shared_settings Создайте cronjob с вашим предпочтительным интервалом, используя эта команда (замените своим общим файлом Dropbox!) */30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 > ~/.bash_shared_settings; chmod +x ~/.bash_shared_settings;Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.
Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:
export HOSTNAME=`hostname | cut -f1 -d'.'`
if [ -f ~/.bash/os/$OSTYPE.sh ]; then
source ~/.bash/os/$OSTYPE.sh
fi
if [ -f ~/.bash/host/$HOSTNAME.sh ]; then
source ~/.bash/host/$HOSTNAME.sh
fi
Затем создайте .bash-каталог и os и host каталоги под этим и помещать любые пользовательские настройки в файлы, называемые & lt; whatever & gt; .sh, где & lt; whatever & gt; это тип os или хост, который вы хотите настроить.
Я сохраняю все эти файлы в dropbox, и у меня есть сценарий bash под названием .bash в папке Dropbox, которая помогает мне для облегчения их связывания в:
#!/bin/bash
#Array of <source><space><link> target->symlink mappings
linkarray=( "~/Dropbox/config/bashrc ~/.bashrc"
"~/Dropbox/config/bash ~/.bash"
"~/Dropbox/config/vimrc ~/.vimrc"
"~/Dropbox/config/vim ~/.vim"
"~/Dropbox/config/ssh ~/.ssh"
"~/Dropbox/config/screenrc ~/.screenrc"
"~/Dropbox/bin ~/bin" )
#turn off globbing to split each entry on spaces
set -f
for entry in "${linkarray[@]}"
do
targets=( $entry )
#eval will expand the tildes
eval from=${targets[0]}
eval to=${targets[1]}
#if the target exists and is not a symlink, err on the side of caution
if [ -e "$to" -a ! -L "$to" ]
then
echo "$to exists and is not a link, skipping..."
else
#probably safe to delete an existing symlink
if [ -e "$to" ]
then
rm $to
fi
ln -s $from $to
fi
done
Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.
Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:
if [ -f ~/.foo ]; then
. ~/.foo
fi
Где ~ / .foo - это отдельный файл.
Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.
Создайте файл с вашими общими настройками bash в папке Dropbox. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню «Dropbox». Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Ваша общая ссылка теперь будет похожа на мою: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 Добавьте эту строку в ~ / .bashrc source $HOME/.bash_shared_settings Создайте cronjob с вашим предпочтительным интервалом, используя эта команда (замените своим общим файлом Dropbox!) */30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 > ~/.bash_shared_settings; chmod +x ~/.bash_shared_settings;Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.
Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).
Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.
if [ -f ~/.bashrc_local ]; then
. ~/.bashrc_local
fi
Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:
export HOSTNAME=`hostname | cut -f1 -d'.'`
if [ -f ~/.bash/os/$OSTYPE.sh ]; then
source ~/.bash/os/$OSTYPE.sh
fi
if [ -f ~/.bash/host/$HOSTNAME.sh ]; then
source ~/.bash/host/$HOSTNAME.sh
fi
Затем создайте .bash-каталог и os и host каталоги под этим и помещать любые пользовательские настройки в файлы, называемые & lt; whatever & gt; .sh, где & lt; whatever & gt; это тип os или хост, который вы хотите настроить.
Я сохраняю все эти файлы в dropbox, и у меня есть сценарий bash под названием .bash в папке Dropbox, которая помогает мне для облегчения их связывания в:
#!/bin/bash
#Array of <source><space><link> target->symlink mappings
linkarray=( "~/Dropbox/config/bashrc ~/.bashrc"
"~/Dropbox/config/bash ~/.bash"
"~/Dropbox/config/vimrc ~/.vimrc"
"~/Dropbox/config/vim ~/.vim"
"~/Dropbox/config/ssh ~/.ssh"
"~/Dropbox/config/screenrc ~/.screenrc"
"~/Dropbox/bin ~/bin" )
#turn off globbing to split each entry on spaces
set -f
for entry in "${linkarray[@]}"
do
targets=( $entry )
#eval will expand the tildes
eval from=${targets[0]}
eval to=${targets[1]}
#if the target exists and is not a symlink, err on the side of caution
if [ -e "$to" -a ! -L "$to" ]
then
echo "$to exists and is not a link, skipping..."
else
#probably safe to delete an existing symlink
if [ -e "$to" ]
then
rm $to
fi
ln -s $from $to
fi
done
Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.
Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:
if [ -f ~/.foo ]; then
. ~/.foo
fi
Где ~ / .foo - это отдельный файл.
Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.
Создайте файл с вашими общими настройками bash в папке Dropbox. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню «Dropbox». Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Ваша общая ссылка теперь будет похожа на мою: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 Добавьте эту строку в ~ / .bashrc source $HOME/.bash_shared_settings Создайте cronjob с вашим предпочтительным интервалом, используя эта команда (замените своим общим файлом Dropbox!) */30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 > ~/.bash_shared_settings; chmod +x ~/.bash_shared_settings;Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.
Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).
Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.
if [ -f ~/.bashrc_local ]; then
. ~/.bashrc_local
fi
Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:
export HOSTNAME=`hostname | cut -f1 -d'.'`
if [ -f ~/.bash/os/$OSTYPE.sh ]; then
source ~/.bash/os/$OSTYPE.sh
fi
if [ -f ~/.bash/host/$HOSTNAME.sh ]; then
source ~/.bash/host/$HOSTNAME.sh
fi
Затем создайте .bash-каталог и os и host каталоги под этим и помещать любые пользовательские настройки в файлы, называемые & lt; whatever & gt; .sh, где & lt; whatever & gt; это тип os или хост, который вы хотите настроить.
Я сохраняю все эти файлы в dropbox, и у меня есть сценарий bash под названием .bash в папке Dropbox, которая помогает мне для облегчения их связывания в:
#!/bin/bash
#Array of <source><space><link> target->symlink mappings
linkarray=( "~/Dropbox/config/bashrc ~/.bashrc"
"~/Dropbox/config/bash ~/.bash"
"~/Dropbox/config/vimrc ~/.vimrc"
"~/Dropbox/config/vim ~/.vim"
"~/Dropbox/config/ssh ~/.ssh"
"~/Dropbox/config/screenrc ~/.screenrc"
"~/Dropbox/bin ~/bin" )
#turn off globbing to split each entry on spaces
set -f
for entry in "${linkarray[@]}"
do
targets=( $entry )
#eval will expand the tildes
eval from=${targets[0]}
eval to=${targets[1]}
#if the target exists and is not a symlink, err on the side of caution
if [ -e "$to" -a ! -L "$to" ]
then
echo "$to exists and is not a link, skipping..."
else
#probably safe to delete an existing symlink
if [ -e "$to" ]
then
rm $to
fi
ln -s $from $to
fi
done
Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.
Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:
if [ -f ~/.foo ]; then
. ~/.foo
fi
Где ~ / .foo - это отдельный файл.
Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.
Создайте файл с вашими общими настройками bash в папке Dropbox. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню «Dropbox». Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Ваша общая ссылка теперь будет похожа на мою: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 Добавьте эту строку в ~ / .bashrc source $HOME/.bash_shared_settings Создайте cronjob с вашим предпочтительным интервалом, используя эта команда (замените своим общим файлом Dropbox!) */30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 > ~/.bash_shared_settings; chmod +x ~/.bash_shared_settings;Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.
Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).
Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.
if [ -f ~/.bashrc_local ]; then
. ~/.bashrc_local
fi
Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:
export HOSTNAME=`hostname | cut -f1 -d'.'`
if [ -f ~/.bash/os/$OSTYPE.sh ]; then
source ~/.bash/os/$OSTYPE.sh
fi
if [ -f ~/.bash/host/$HOSTNAME.sh ]; then
source ~/.bash/host/$HOSTNAME.sh
fi
Затем создайте .bash-каталог и os и host каталоги под этим и помещать любые пользовательские настройки в файлы, называемые & lt; whatever & gt; .sh, где & lt; whatever & gt; это тип os или хост, который вы хотите настроить.
Я сохраняю все эти файлы в dropbox, и у меня есть сценарий bash под названием .bash в папке Dropbox, которая помогает мне для облегчения их связывания в:
#!/bin/bash
#Array of <source><space><link> target->symlink mappings
linkarray=( "~/Dropbox/config/bashrc ~/.bashrc"
"~/Dropbox/config/bash ~/.bash"
"~/Dropbox/config/vimrc ~/.vimrc"
"~/Dropbox/config/vim ~/.vim"
"~/Dropbox/config/ssh ~/.ssh"
"~/Dropbox/config/screenrc ~/.screenrc"
"~/Dropbox/bin ~/bin" )
#turn off globbing to split each entry on spaces
set -f
for entry in "${linkarray[@]}"
do
targets=( $entry )
#eval will expand the tildes
eval from=${targets[0]}
eval to=${targets[1]}
#if the target exists and is not a symlink, err on the side of caution
if [ -e "$to" -a ! -L "$to" ]
then
echo "$to exists and is not a link, skipping..."
else
#probably safe to delete an existing symlink
if [ -e "$to" ]
then
rm $to
fi
ln -s $from $to
fi
done
Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.
Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:
if [ -f ~/.foo ]; then
. ~/.foo
fi
Где ~ / .foo - это отдельный файл.
Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.
Создайте файл с вашими общими настройками bash в папке Dropbox. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню «Dropbox». Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Ваша общая ссылка теперь будет похожа на мою: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 Добавьте эту строку в ~ / .bashrc source $HOME/.bash_shared_settings Создайте cronjob с вашим предпочтительным интервалом, используя эта команда (замените своим общим файлом Dropbox!) */30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 > ~/.bash_shared_settings; chmod +x ~/.bash_shared_settings;Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.