В Linux у нас есть / etc / environment для хранения глобальной переменной. В FreeBSD?

Quiere usar tee .

Ejemplo:

echo "Hello World" | tee out.txt

Esto crea un archivo out.txt con la salida del comando y lo imprime en la pantalla. Use "tee -un nombre de archivo" si desea agregarlo al archivo.

echo "Hello" | tee -a out.txt
echo "World" | tee -a out.txt

out.txt tendrá dos líneas Hola y Mundo (sin -un solo tendría mundo)

Si desea guardar el script completo y generar el script completo:

./script.sh | tee output.txt

-4
04.05.2017, 00:30
2 ответа

Проще всего, как и в Linux, установить переменные среды в файлах инициализации оболочки системы в /etc. Для sh-совместимых оболочек входа в систему это будет /etc/profile, а для оболочек csh это будет /etc/csh.cshrc. , как описано в статье, на которую вы ссылаетесь.

Среда входа также может быть установлена ​​в /etc/login.conf.Это не сценарий оболочки, а база данных возможностей класса входа, поэтому она следует строгому формату. Вы должны прочитать man login.conf , прежде чем пытаться изменить его.

Чтобы добавить в этот файл две переменные среды, VAR1 и VAR2, выберите, какой класс входа изменить и добавить.

:setenv=VAR1=value1,VAR2=value2:

Когда закончите, запустите cap_mkdb / etc/login.conf как root, как описано в руководстве.

Обратите внимание, что путь по умолчанию , а не установлен с помощью setenv.

3
28.01.2020, 05:20

Я только что столкнулся с этой проблемой, и мне стало любопытно, как это решается в системах Ubuntu. Ответ через PAM . Модуль LinuxPAM pam _env делает это.

FreeBSD использует OpenPAM , в котором, похоже, нет этого модуля.

Во FreeBSD есть login.conf , но он не будет таким универсальным, как pam_env. Например, он не будет устанавливать переменные среды для заданий cron.

Ответ, я боюсь, что вы не можете в данный момент. И причина, по которой он не универсален даже в системах Linux, заключается в том, что pam_envнастроен не во всех системах Linux.

0
08.03.2020, 14:49

Теги

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