Фон
Я пишу функцию для добавления файла в мой каталог $HOME
с именем .bash.local
.
➡️ .bash.local
поступает через .bash_profile
.
Однако я хочу условно добавить к .bash.local
тогда и только тогда, когда файл делаетне уже содержит содержимое $BASH_CONFIGS
.
Что нужно помнить
Моя операционная система выбора MacOS Mojave
, поэтому некоторые версии приложений командной строки будут отличаться(например, grep
на Mac - BSD grep
, а не GNU grep
).
⚠️ append_to_bash_local ()
append_to_bash_local() {
local LOCAL_BASH_CONFIG_FILE="$HOME"/.bash.local
declare -r BASH_CONFIGS="
# TOOL_NAME - TOOL_DESCRIPTION.
# Add tool configurations here
"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# If needed, add the necessary configs in the
# local shell configuration file.
if ! grep "^$BASH_CONFIGS" < "$LOCAL_BASH_CONFIG_FILE" &> /dev/null; then
# this block never runs, even if the contents of $BASH_CONFIG
# are NOT present in $HOME/.bash.local
fi
}