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
Проще всего, как и в 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
.
Я только что столкнулся с этой проблемой, и мне стало любопытно, как это решается в системах Ubuntu. Ответ через PAM . Модуль LinuxPAM pam _env делает это.
FreeBSD использует OpenPAM , в котором, похоже, нет этого модуля.
Во FreeBSD есть login.conf , но он не будет таким универсальным, как pam_env
. Например, он не будет устанавливать переменные среды для заданий cron.
Ответ, я боюсь, что вы не можете в данный момент. И причина, по которой он не универсален даже в системах Linux, заключается в том, что pam_env
настроен не во всех системах Linux.