Существует (сейчас?) Более простой способ, согласно ответу @Zanchey здесь
Fish Shell: Как установить несколько переменные среды из файла с использованием экспорта
Дайджест:
Fish:
echo -e "foo = 3 \ nfoobar = 4"> .env; экспорт (кат. env); env | grep foo
Bash:
echo -e "foo = 3 \ nfoobar = 4"> .env; экспорт $ (cat .env | xargs); env | grep foo
с той разницей, что $
и использование xargs
Esta mañana saqué un montón de información personal de mi bash_profile
y bashrc
y los agregué a un nuevo archivo al que llamo privaterc
.
En mi archivo privaterc
establecí esta variable:
PRIVATERC_RUN=yes
Ahora en mi bash_profile
he añadido esta línea:
[[ $PRIVATERC_RUN != yes && -f ~/.privaterc ]] && source ~/.privaterc
Esto hará que privaterc
solo se genere si no se ha generado previamente en este shell.
También en cuanto a la rareza del perfil que está viendo, el artículo que vinculé en el comentario establece lo siguiente sobre mac:
Mac OS X — an exception
An exception to the terminal window guidelines is Mac OS X’s Terminal.app, which runs a login shell by default for each new terminal window, calling.bash_profile instead of.bashrc. Other GUI terminal emulators may do the same, but most tend not to.
Интересно, было бы лучше написать клише на стороне источника, а не на стороне источника. (как файлы заголовков C)
[[ "${_NAME_OF_THIS_LIBSCRIPT:-""}" == "yes" ]] && return 0
_NAME_OF_THIS_LIBSCRIPT=yes
Благодаря этому вам не нужно повторять один и тот же шаблон каждый раз, когда вы создаете файл сценария, который должен содержать что-то, предназначенное для совместного использования в нескольких местах. Или я что-то упускаю? Честно говоря, я не мастер программирования на bash, поэтому мне очень хотелось бы узнать мнение других.