Я немного затрудняюсь со своим сценарием оболочки Linux POSIX (тестирование с помощью ShellCheck и оболочки Dash).
До сих пор мне никогда не требовался какой-либо файл конфигурации для моих сценариев. Я использовал переменные в верхней части своих скриптов. Однако, похоже, пользователям не нравится открывать скрипт и вносить изменения, вместо этого им нужен отдельный файл для настроек.
Скажем, у нас есть скрипт с именем myScript и он находится в том же каталоге. у нас есть файл конфигурации с именем myScript.conf. Возможно, у меня это заработало, я хотел бы с вашей помощью убедиться, что моя процедура загрузки правильна и будет работать в различных сценариях.
Минимальные фрагменты:
myScript.conf:
var1=stringA
var2=stringB
myScript:
#!/bin/sh
error()
{
printf >&2 '%s\n' "$@"
exit 1
}
script_dir=$( dirname "$0" )
config_file="$script_dir"/myScript.conf
if [ ! -f "$config_file" ]; then
error "The configuration file does not exist or it is not a regular file."
fi
if [ ! -r "$config_file" ]; then
error "The configuration file exists, but it is not readable by this script."
fi
. "$config_file"
#
# DO SOME GOOD STUFF BASED ON CONFIG VARIABLES
#
Подробнее здесь: https://stackoverflow.com/questions/792 ... -correctly