PMDIR=$HOME/.procmail
:0 Whc: msgid.lock
| formail -D 4096 $PMDIR/idcache
:0 a:
Mail/duplicates
:0 Whc: msgid.lock This sends the headers t
PMDIR=$HOME/.procmail
:0 Whc: msgid.lock
| formail -D 4096 $PMDIR/idcache
:0 a:
Mail/duplicates
:0 Whc: msgid.lock This sends the headers t
[uphill@zürich]: lvscan
connect() failed on local socket: Connection refused
Locking type 2 initialisation failed.
It sometimes comes up that the usual trick of reading in a stream with a pipe and a while loop doesn't work, since the pipe causes a subshell and any variables set in the subshell are unavailable to the parent.
For example the normal trick (output the first few lines of the /etc/services file, just the first two columns and not empty or comment lines):
[uphill@zagreb]: grep -v ^# /etc/services | grep -v ^$ | head | awk '{print $1" "$2;}' tcpmux 1/tcp tcpmux 1/udp rje 5/tcp rje 5/udp echo 7/tcp echo 7/udp discard 9/tcp discard 9/udp systat 11/tcp systat 11/udp
Sometimes it's easier to write a quick script in bash that uses arrays rather than figure out how to do it with something more appropriate like awk or perl.
It's really very quick and simple. To start, declare your variable as an array
[uphill@host]: declare -a myvar
If the array is going to be global then add x to export it.
Copyright 2019 - All Rights Reserved