Evite a origem de scripts várias vezes

Существует (сейчас?) Более простой способ, согласно ответу @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

2
12.08.2018, 19:58
2 ответа

Esta mañana saqué un montón de información personal de mi bash_profiley bashrcy los agregué a un nuevo archivo al que llamo privaterc.

En mi archivo privatercestablecí esta variable:

PRIVATERC_RUN=yes 

Ahora en mi bash_profilehe añadido esta línea:

[[ $PRIVATERC_RUN != yes && -f ~/.privaterc ]] && source ~/.privaterc

Esto hará que privatercsolo 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.

2
27.01.2020, 21:55

Интересно, было бы лучше написать клише на стороне источника, а не на стороне источника. (как файлы заголовков C)

[[ "${_NAME_OF_THIS_LIBSCRIPT:-""}" == "yes" ]] && return 0
_NAME_OF_THIS_LIBSCRIPT=yes

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

5
27.01.2020, 21:55

Теги

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