Похож на этот make-файл, включает два файла (xyz.mak
и pqr.mak
) из его родительского каталога.
Это кажется, конечно, полезным для меня.
В зависимости от версии passwd можно попробовать
passwd -f
: Заставляет пользователя менять пароль при следующем входе в систему, истекая срок действия пароля для имени.
passwd -e
или passwd --expire
: немедленный срок действия пароля учетной записи. Это фактически может заставить пользователя изменить свой пароль при следующем входе пользователя в систему.
perl было бы хорошо для этого:
perl -ne 'for $n (1..4096) {s/\d+/ sprintf "%04d", $n /e; print}' File > File2
-121--63194- Вы можете сделать что-то вроде:
func > >(tee log.txt) 2>&1
wait
Вы можете выделить дескриптор файла для ведения журнала:
exec 3> >(tee log.txt)
tee_pid=$!
func >&3 2>&1
...
Берегитесь, что, поскольку tee
работает в фоновом режиме, если не все выходные данные проходят через него, то порядок в
Вы можете использовать файл TMP
func >tmpfile 2>&1
tee 'log.txt' <tmpfile
или FIFO
mkfifo pipe_replacement
tee 'log.txt' <pipe_replacement &
func >pipe_replacement 2>&1
Мне было бы понравиться ...
#!/bin/sh -x
run() if ! ps -p "$run" >&2
then n=0 run=$$ exec "$0" "$@" 2>&1 | {
! tee outfile ; }
fi 2>/dev/null
run "$@" || exit
fn() { var=val$n; echo "$((n+=1)): $var"; }
fn
sleep 5
fn
IN
, что первые проверяет, есть ли у него открытая труба к Tee
в другом процессе, и, если нет, это Exec
S сам в один. После того, как все выходные вывод обедают для остальной части скрипта, и все переменные устанавливаются между затем и выходом скрипта, - это фактически, как оно делает проверку в первую очередь.
Итак, запустив вышеуказанные отпечатки:
+ run
+ run
+ fn
+ var=val0
+ echo 1: val0
1: val0
+ sleep 5
+ fn
+ var=val1
+ echo 2: val1
2: val1
+ exit
и работает outfile
После этого принты ...
+ run
+ run
+ fn
+ var=val0
+ echo 1: val0
1: val0
+ sleep 5
+ fn
+ var=val1
+ echo 2: val1
2: val1
+ exit
Вы также можете рассмотреть возможность использования SED
, в отличие от TEE
. В то время как Tee
будет больше исполнителей для корпуса All-part SED
может записывать во многих файлах одновременно и может сделать это условно.
Например, вы можете повторить линию:
echo 'LOG-ONLY: some message here'
и прослушивание SED
процесс может сделать:
sed -n '/^LOG-ONLY:/!p;s///w ./my_log.txt'
... который бы w
обретает эту линию к Файл после зачистки LOG_ONLY
Часть и воздерживаться от печати его к терминалу.