Возникают проблемы с обменом .bashrc на машинах с Dropbox?

Для ошибки:

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

. Установка будет (надеюсь) запуска.

21
задан 7 March 2011 в 17:38

55 ответов

Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

if [ -f ~/.bashrc_local ]; then . ~/.bashrc_local fi
2
ответ дан 31 July 2018 в 11:37

Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .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
5
ответ дан 2 August 2018 в 04:13

Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.

Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:

if [ -f ~/.foo ]; then . ~/.foo fi

Где ~ / .foo - это отдельный файл.

8
ответ дан 2 August 2018 в 04:13
  • 1
    Ты прав! Но, к счастью, dropbox сохраняет исправления ваших файлов, поэтому материал автоматически создается резервным копированием :) – Alex 1 December 2010 в 07:51
  • 2
    Спасибо за большое предложение, я буду вручную искать второй файл, и я, вероятно, буду использовать этот синтаксис. – Alan Peabody 1 December 2010 в 18:17

Синхронизация с 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 каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.

1
ответ дан 2 August 2018 в 04:13

Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

if [ -f ~/.bashrc_local ]; then . ~/.bashrc_local fi
2
ответ дан 2 August 2018 в 04:13

Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе данной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .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
5
ответ дан 4 August 2018 в 20:17

Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Любые ошибки будут синхронизированы со всеми вашими машинами.

Чтобы добавить отдельный файл в ваш ~/.bashrc, добавьте что-то вроде этого:

if [ -f ~/.foo ]; then . ~/.foo fi

Где ~ / .foo - это отдельный файл.

8
ответ дан 4 August 2018 в 20:17
  • 1
    Ты прав! Но, к счастью, dropbox сохраняет исправления ваших файлов, поэтому материал автоматически создается резервным копированием :) – Alex 1 December 2010 в 07:51
  • 2
    Спасибо за большое предложение, я буду вручную искать второй файл, и я, вероятно, буду использовать этот синтаксис. – Alan Peabody 1 December 2010 в 18:17

Синхронизация с 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 каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.

1
ответ дан 4 August 2018 в 20:17

Я сохраняю свой .bashrc, символически связанный с Dropbox, и множество других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

if [ -f ~/.bashrc_local ]; then . ~/.bashrc_local fi
2
ответ дан 4 August 2018 в 20:17

Я держу свой .bashrc в связке с Dropbox вместе с множеством других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

 , если [-f ~ / .bashrc_local];  тогда .  ~ / .bashrc_local fi  
2
ответ дан 6 August 2018 в 04:18

Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.

  1. Создайте файл с вашими базовыми настройками bash в папке Dropbox.
  2. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню Dropbox.
  3. Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена.
  4. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Теперь ваша общая ссылка должна выглядеть аналогично моей: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1
  5. Добавить эту строку в ~ /.bashrc source $ HOME / .bash_shared_settings
  6. Создайте cronjob с вашим предпочтительным интервалом, используя эту команду (замените ваш общий пакет Dropbox!) * / 30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 & gt; ~ / .bash_shared_settings; chmod + x ~ / .bash_shared_settings;

Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.

1
ответ дан 6 August 2018 в 04:18

Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Все ошибки будут синхронизированы со всеми вашими машинами.

Чтобы добавить отдельный файл в ваш ~ / .bashrc , добавьте что-то вроде этого:

  если [-f ~ / .foo];  тогда .  ~ / .foo fi  

Где ~ / .foo - отдельный файл.

8
ответ дан 6 August 2018 в 04:18

Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе определенной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:

  export HOSTNAME = `hostname |  cut -f1 -d '.' `если [-f ~ / .bash / os / $ OSTYPE.sh];  затем source ~ / .bash / os / $ OSTYPE.sh fi, если [-f ~ / .bash / host / $ HOSTNAME.sh];  затем source ~ / .bash / host / $ HOSTNAME.sh fi  

Затем создайте в этом каталоге .bash и директории os и host и поместите любые пользовательские настройки в файлы с именем & lt; независимо от того, где & gt; .sh, где & lt; whatever & gt; - тип os или хост, который вы хотите настроить.

Я сохраняю все эти файлы в Dropbox, и у меня есть сценарий bash link_dropbox в папке Dropbox, которая помогает мне облегчить их связывание в:

  #! / bin / bash #Array of & lt; source & gt; & lt; space & gt; & lt; link & gt;  target- & gt; ссылки на symlink 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  ($ entry) #eval будет расширять тильды eval от = $ {целей [0]} eval до = $  {target [1]} # Если цель существует и не является символической ссылкой, ошибайтесь на стороне осторожности, если [-e "$ to" -a!  -L "$ to"], тогда echo "$ to существует и не является ссылкой, пропуская ..." else # можно безопасно удалить существующую символическую ссылку, если [-e "$ to"], затем rm $ to fi ln -s  $ from $ to fi done  
5
ответ дан 6 August 2018 в 04:18

Я держу свой .bashrc в связке с Dropbox вместе с множеством других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

 , если [-f ~ / .bashrc_local];  тогда .  ~ / .bashrc_local fi  
2
ответ дан 7 August 2018 в 22:22

Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.

  1. Создайте файл с вашими базовыми настройками bash в папке Dropbox.
  2. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню Dropbox.
  3. Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена.
  4. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Теперь ваша общая ссылка должна выглядеть аналогично моей: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1
  5. Добавить эту строку в ~ /.bashrc source $ HOME / .bash_shared_settings
  6. Создайте cronjob с вашим предпочтительным интервалом, используя эту команду (замените ваш общий пакет Dropbox!) * / 30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 & gt; ~ / .bash_shared_settings; chmod + x ~ / .bash_shared_settings;

Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.

1
ответ дан 7 August 2018 в 22:22

Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Все ошибки будут синхронизированы со всеми вашими машинами.

Чтобы добавить отдельный файл в ваш ~ / .bashrc , добавьте что-то вроде этого:

  если [-f ~ / .foo];  тогда .  ~ / .foo fi  

Где ~ / .foo - отдельный файл.

8
ответ дан 7 August 2018 в 22:22

Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе определенной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:

  export HOSTNAME = `hostname |  cut -f1 -d '.' `если [-f ~ / .bash / os / $ OSTYPE.sh];  затем source ~ / .bash / os / $ OSTYPE.sh fi, если [-f ~ / .bash / host / $ HOSTNAME.sh];  затем source ~ / .bash / host / $ HOSTNAME.sh fi  

Затем создайте в этом каталоге .bash и директории os и host и поместите любые пользовательские настройки в файлы с именем & lt; независимо от того, где & gt; .sh, где & lt; whatever & gt; - тип os или хост, который вы хотите настроить.

Я сохраняю все эти файлы в Dropbox, и у меня есть сценарий bash link_dropbox в папке Dropbox, которая помогает мне облегчить их связывание в:

  #! / bin / bash #Array of & lt; source & gt; & lt; space & gt; & lt; link & gt;  target- & gt; ссылки на symlink 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  ($ entry) #eval будет расширять тильды eval от = $ {целей [0]} eval до = $  {target [1]} # Если цель существует и не является символической ссылкой, ошибайтесь на стороне осторожности, если [-e "$ to" -a!  -L "$ to"], тогда echo "$ to существует и не является ссылкой, пропуская ..." else # можно безопасно удалить существующую символическую ссылку, если [-e "$ to"], затем rm $ to fi ln -s  $ from $ to fi done  
5
ответ дан 7 August 2018 в 22:22

Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.

  1. Создайте файл с вашими базовыми настройками bash в папке Dropbox.
  2. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню Dropbox.
  3. Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена.
  4. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Теперь ваша общая ссылка должна выглядеть аналогично моей: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1
  5. Добавить эту строку в ~ /.bashrc source $ HOME / .bash_shared_settings
  6. Создайте cronjob с вашим предпочтительным интервалом, используя эту команду (замените ваш общий пакет Dropbox!) * / 30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 & gt; ~ / .bash_shared_settings; chmod + x ~ / .bash_shared_settings;

Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.

1
ответ дан 10 August 2018 в 10:32

Я держу свой .bashrc в связке с Dropbox вместе с множеством других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

 , если [-f ~ / .bashrc_local];  тогда .  ~ / .bashrc_local fi  
2
ответ дан 10 August 2018 в 10:32

Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Все ошибки будут синхронизированы со всеми вашими машинами.

Чтобы добавить отдельный файл в ваш ~ / .bashrc , добавьте что-то вроде этого:

  если [-f ~ / .foo];  тогда .  ~ / .foo fi  

Где ~ / .foo - отдельный файл.

8
ответ дан 10 August 2018 в 10:32

Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе определенной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:

  export HOSTNAME = `hostname |  cut -f1 -d '.' `если [-f ~ / .bash / os / $ OSTYPE.sh];  затем source ~ / .bash / os / $ OSTYPE.sh fi, если [-f ~ / .bash / host / $ HOSTNAME.sh];  затем source ~ / .bash / host / $ HOSTNAME.sh fi  

Затем создайте в этом каталоге .bash и директории os и host и поместите любые пользовательские настройки в файлы с именем & lt; независимо от того, где & gt; .sh, где & lt; whatever & gt; - тип os или хост, который вы хотите настроить.

Я сохраняю все эти файлы в Dropbox, и у меня есть сценарий bash link_dropbox в папке Dropbox, которая помогает мне облегчить их связывание в:

  #! / bin / bash #Array of & lt; source & gt; & lt; space & gt; & lt; link & gt;  target- & gt; ссылки на symlink 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  ($ entry) #eval будет расширять тильды eval от = $ {целей [0]} eval до = $  {target [1]} # Если цель существует и не является символической ссылкой, ошибайтесь на стороне осторожности, если [-e "$ to" -a!  -L "$ to"], тогда echo "$ to существует и не является ссылкой, пропуская ..." else # можно безопасно удалить существующую символическую ссылку, если [-e "$ to"], затем rm $ to fi ln -s  $ from $ to fi done  
5
ответ дан 10 August 2018 в 10:32

Синхронизация с Dropbox отличная, но если вы не хотите устанавливать Dropbox на сервер, вы можете реализовать мой метод.

  1. Создайте файл с вашими базовыми настройками bash в папке Dropbox.
  2. Щелкните правой кнопкой мыши файл и нажмите «Поделиться ссылкой» в меню Dropbox.
  3. Затем нажмите «Получить ссылку». Это скопирует общую ссылку в буфер обмена.
  4. Добавьте? Dl = 1 в конец общего файла. Это позволяет вам получить необработанный файл. Теперь ваша общая ссылка должна выглядеть аналогично моей: https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1
  5. Добавить эту строку в ~ /.bashrc source $ HOME / .bash_shared_settings
  6. Создайте cronjob с вашим предпочтительным интервалом, используя эту команду (замените ваш общий пакет Dropbox!) * / 30 * * * * curl -sS https://dl.dropbox.com/s/h25q5c3czo6mnjo/shared_bash_settings.sh?dl=1 & gt; ~ / .bash_shared_settings; chmod + x ~ / .bash_shared_settings;

Это будет обновлять вашу копию ~ / .bash_shared_settings каждые полчаса. Каждый раз, когда вы перезагружаете сеанс, вы включаете последние изменения.

1
ответ дан 13 August 2018 в 17:00

Я держу свой .bashrc в связке с Dropbox вместе с множеством других файлов конфигурации (.gitconfig, .vimrc и т. д.).

Я создаю файл с именем .bashrc_local в конце его для других настроек который я хотел бы оставить машиной независимой.

 , если [-f ~ / .bashrc_local];  тогда .  ~ / .bashrc_local fi  
2
ответ дан 13 August 2018 в 17:00

Основной риск, о котором я могу думать, заключается в том, что вы должны помнить, что синхронизация - это не то же самое, что резервное копирование. Все ошибки будут синхронизированы со всеми вашими машинами.

Чтобы добавить отдельный файл в ваш ~ / .bashrc , добавьте что-то вроде этого:

  если [-f ~ / .foo];  тогда .  ~ / .foo fi  

Где ~ / .foo - отдельный файл.

8
ответ дан 13 August 2018 в 17:00
  • 1
    Ты прав! Но, к счастью, dropbox сохраняет исправления ваших файлов, поэтому материал автоматически создается резервным копированием :) – Alex 1 December 2010 в 07:51
  • 2
    Спасибо за большое предложение, я буду вручную искать второй файл, и я, вероятно, буду использовать этот синтаксис. – Alan Peabody 1 December 2010 в 18:17

Обычно, централизация файлов конфигурации - это хорошо! Если вы хотите настроить то, что работает на основе определенной ОС или имени хоста, вы можете сделать что-то вроде следующего в вашем .bashrc:

  export HOSTNAME = `hostname |  cut -f1 -d '.' `если [-f ~ / .bash / os / $ OSTYPE.sh];  затем source ~ / .bash / os / $ OSTYPE.sh fi, если [-f ~ / .bash / host / $ HOSTNAME.sh];  затем source ~ / .bash / host / $ HOSTNAME.sh fi  

Затем создайте в этом каталоге .bash и директории os и host и поместите любые пользовательские настройки в файлы с именем & lt; независимо от того, где & gt; .sh, где & lt; whatever & gt; - тип os или хост, который вы хотите настроить.

Я сохраняю все эти файлы в Dropbox, и у меня есть сценарий bash link_dropbox в папке Dropbox, которая помогает мне облегчить их связывание в:

  #! / bin / bash #Array of & lt; source & gt; & lt; space & gt; & lt; link & gt;  target- & gt; ссылки на symlink 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  ($ entry) #eval будет расширять тильды eval от = $ {целей [0]} eval до = $  {target [1]} # Если цель существует и не является символической ссылкой, ошибайтесь на стороне осторожности, если [-e "$ to" -a!  -L "$ to"], тогда echo "$ to существует и не является ссылкой, пропуская ..." else # можно безопасно удалить существующую символическую ссылку, если [-e "$ to"], затем rm $ to fi ln -s  $ from $ to fi done  
5
ответ дан 13 August 2018 в 17:00

Другие вопросы по тегам:

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