Проверка наличия строки в файле

Проверка наличия строки в файле

У меня есть скрипт bash, который запрашивает у пользователя количество ядер ЦП и сохраняет его в переменной с именем $cores. Теперь я хочу добавить эту переменную в .bashrc, поэтому я спрашиваю пользователя, сколько у него ядер ЦП, а затем хочет ли он сохранить это значение в .bashrc.

Теперь вопрос: как проверить, $coresсуществует ли уже, .bashrcчтобы скрипт не спрашивал пользователя снова?

решение1

Вместо того, чтобы спрашивать пользователя, сколько ядер у системы, почему бы просто не спросить систему? Это лучше, потому что не предполагает записи в файл, принадлежащий пользователю. Смотрите что-то вродеэтот, который использует 'getconf' для запроса переменной NPROCESSORS_CONF. Или для других систем, идеи, представленныездесьможет быть полезно - использование sysctlили grep /proc/cpuinfoдля определения количества ядер.

решение2

Попробуй это:

'awk /\$core/ { print }'

решение3

Проверить, установлена ​​ли переменная в bash, можно с помощью:

if [[ -z "$cores" ]]
then
    echo "not set"
else
    echo "set"
fi

Это проверит, $coresустановлена ​​ли переменная или нет. То есть, если $cores равен null, то будет отображено "not set", в противном случае "set". На самом деле, .bashrcне является источником автоматически для неинтерактивных оболочек, таких как те, которые запускаются при выполнении скрипта оболочки. Поэтому вы должны поместить . .bashrcоколо начала вашего .bash_loginфайла, чтобы гарантировать, что .bashrcон является источником как для интерактивных оболочек с входом, так и для не-входом.

Связанный контент