"เดเดตเดฟเดเต เดจเตเดเตเดเต," เดธเตโเดเตเดฐเตเดจเดฟเดฒเต เดเดฐเต เดเดฟเดนเตเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดเตเดฃเตเดเดฟเดเตเดเดพเดฃเดฟเดเตเดเตเดเตเดฃเตเดเต เด เดฆเตเดฆเตเดนเด เดชเดฑเดฏเตเดจเตเดจเต, "เดเดพเตป เดจเดฟเดเตเดเตพเดเตเดเต เด เดฏเดเตเดเดคเต เดเดเตเดเตพ เดเดตเดฟเดเต เดเตเตผเดคเตเดคเดพเตฝ, เดเตเดกเดฟเดจเตเดฑเต เดฎเดฑเตเดฑเตเดฐเต เดตเดฟเดญเดพเดเดคเตเดคเดฟเดฒเตเดเตเดเต เดเตเดฃเตเดเดฟเดเตเดเดพเดฃเดฟเดเตเดเต, "เดเดจเตเดฑเต เดเตเดตเดจเตเดจ เดคเตเดชเตเดชเดฟ เดเดพเตป เดตเดพเดคเตเดตเดฏเตเดเตเดเตเดจเตเดจเต. เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเด."
เด
เตฝเดชเตเดชเด เดเดถเดฏเดเตเดเตเดดเดชเตเดชเดคเตเดคเดฟเดฒเตเด เดเตเดทเตเดฃเดคเตเดคเดฟเดฒเตเด, เดเดเตเดเตพ เดเตเดฑเดเตเดเตเดเดพเดฒเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดเตเดฃเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดธเตเดกเต เดเดเตเดธเตเดชเตเดฐเดทเตป เดเดพเตป เดชเดฐเดฟเดทเตเดเตเดเดฐเดฟเดเตเดเต, เดซเดฏเตฝ เดธเตเดตเต เดเตเดฏเตเดคเต เดฑเตบ เดเตเดฏเตเดฏเตเด systemctl varnish reload
. เดชเดฟเดถเดเต เดธเดจเตเดฆเตเดถเด เด
เดชเตเดฐเดคเตเดฏเดเตเดทเดฎเดพเดฏเดฟ...
"เดเดพเตป เดธเตเดฅเดพเดจเดพเตผเดคเตเดฅเดฟเดฏเตเดฎเดพเดฏเดฟ เดเตเดฎเดพเดฑเตเดฑเด เดเตเดฏเตเดค เดเดฎเตเดฏเดฟเดฒเตเดเตพ," เดเดจเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเตป เดคเตเดเตผเดจเตเดจเต, เด เดตเดจเตเดฑเต เดเดฟเดฐเดฟ เดธเดจเตเดคเตเดทเดคเตเดคเดฟเดจเตเดฑเต เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดเตเดเดฟเดฐเดฟเดฏเดพเดฏเดฟ เดตเดณเตผเดจเตเดจเดชเตเดชเตเตพ, "เดเดคเต เด เดคเต เดชเตเดฐเดถเตโเดจเดฎเดพเดฃเตเดจเตเดจเต เดชเตเดเตเดเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟ!"
เดเดฒเตเดฒเดพเด เดเดเตเดเดจเต เดเดฐเดเดญเดฟเดเตเดเต
bash, awk, sed, systemd เดเดจเตเดจเดฟเดต เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฐเต เดงเดพเดฐเดฃ เดฒเตเดเดจเด เด
เดจเตเดฎเดพเดจเดฟเดเตเดเตเดจเตเดจเต. เดตเดพเตผเดฃเดฟเดทเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เด
เดฑเดฟเดตเต เด
เดญเดฟเดเดพเดฎเตเดฏเดฎเดพเดฃเต, เดชเดเตเดทเต เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.
เดธเตโเดจเดฟเดชเตเดชเตเดฑเตเดฑเตเดเดณเดฟเดฒเต เดเตเดเดธเตเดฑเตเดฑเดพเดฎเตเดชเตเดเตพ เดฎเดพเดฑเตเดฑเดฟ.
เดเตเดเต เดเดดเตเดคเดฟเดฏเดคเต
เดฐเดฃเตเดเดพเดดเตเด เดฎเตเดฎเตเดชเต เดเดเดเตเดฒเตเดทเดฟเตฝ เดชเตเดฐเดธเดฟเดฆเตเดงเตเดเดฐเดฟเดเตเด เดฎเตเดฒเดเตเดคเดฟเดฏเตเดเต เดตเดฟเดตเตผเดคเตเดคเดจเดฎเดพเดฃเต เด เดตเดพเดเดเด; เดตเดฟเดตเตผเดคเตเดคเดจเด
เดฎเดฑเตเดฑเตเดฐเต เดเตเดเตเดณเตเดณ เดถเดฐเดคเตเดเดพเดฒ เดชเตเดฐเดญเดพเดคเดคเตเดคเดฟเตฝ เดชเดจเตเดฐเดฎเดฟเดเต เดเดพเดฒเดเดเตเดเดณเดฟเดฒเตเดเต เดธเตเดฐเตเดฏเตป เดชเตเดฐเดเดพเดถเดฟเดเตเดเตเดจเตเดจเต, เดชเตเดคเตเดคเดพเดฏเดฟ เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเดฟเดฏ เดเดซเตเตป เด เดเดเตเดเดฟเดฏ เดเดฐเต เดเดชเตเดชเต เดชเดพเดจเตเดฏเด เดเตเดฌเตเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดฑเดฟ เดจเดฟเตฝเดเตเดเตเดจเตเดจเต, เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเดฟเดฏเดชเตเดชเตเดเตเด เดธเดฟเดเดซเดฃเดฟ เดถเดฌเตเดฆเดเตเดเตพ เดจเดฟเดเตเดเดณเตเดเต เดนเตเดกเตโเดซเตเดฃเตเดเดณเดฟเตฝ เดฎเตเดดเดเตเดเตเดจเตเดจเต, เดฎเตเดเตเดเดพเดจเดฟเดเตเดเตฝ เดเตเดฌเตเตผเดกเตเดเดณเตเดเต เดฌเดนเดณเดคเตเดคเต เดฎเตเดเตเดเดฟเดเตเดเดณเดฏเตเดจเตเดจเต, เดเดฆเตเดฏ เดชเตเดฐเดตเตเดถเดจเด เดเดพเตปเดฌเตป เดฌเตเตผเดกเดฟเดฒเต เดฌเดพเดเตเดเตโเดฒเตเดเต เดเดฟเดเตเดเดฑเตเดฑเตเดเดณเตเดเต เดชเดเตเดเดฟเดเดฏเดฟเตฝ "เดตเดพเตผเดฃเดฟเดทเตเดฐเตเดฒเตเดกเต เด เดจเตเดตเตเดทเดฟเดเตเดเตเด" sh: เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ: เดธเตเดฑเตเดฑเตเดเดฟเดเดเดฟเดฒเต I/O เดชเดฟเดถเดเต" (เดธเตเดฑเตเดฑเตเดเดฟเดเดเดฟเดฒเต "varnishreload sh: echo: I/O เดชเดฟเดถเดเต" เด เดจเตเดตเตเดทเดฟเดเตเดเตเด) เดเดจเตเดจ เดจเดฟเตผเดญเดพเดเตเดฏเดเดฐเดฎเดพเดฏ เดถเตเตผเดทเดเดคเตเดคเดฟเตฝ เดเดณเดฟเดฏเดพเดฏเดฟ เดคเดฟเดณเดเตเดเตเดจเตเดจเต. เดตเดพเตผเดฃเดฟเดทเดฟเดจเตเดฑเต เดเดพเดฐเตเดฏเด เดตเดฐเตเดฎเตเดชเตเตพ, เด เดเตเดธเดฟเดฒเต เดชเตเดฒเต เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดชเตเดฐเดถเตโเดจเดเตเดเตพ เดเดฃเตเดเดพเดเตเดเดฟเดฏเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝเดชเตเดชเตเดฒเตเด, เดชเดฟเดถเดเตเดเตพเดเตเดเต เดเดเดฎเตเดฃเตเดเต, เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ.
เดชเดฐเดฟเดเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดตเตผเดเตเดเดพเดฏเดฟ
เดเดฟเดเตเดเดฑเตเดฑเดฟเดจเตเดฑเต เดคเดฒเดเตเดเตเดเตเดเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต, เดธเตเดฑเตเดฑเตเดเดฟเดฒเต เดเดฐเต เดธเตเตผเดตเดฑเดฟเดฒเดพเดฃเต เดชเดฟเดถเดเต เดธเดเดญเดตเดฟเดเตเดเดคเต, เดธเตเดฑเตเดฑเตเดเดฟเดฒเต เดตเดพเตผเดฃเดฟเดทเต เดฑเตเดเตเดเดฟเดเดเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดเดฑเดชเตเดชเดพเดฏเดคเดฟเดจเดพเตฝ, เดเดคเต เดเดฐเต เดเตเดฑเดฟเดฏ เดชเดฟเดถเดเดพเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดเดพเตป เด เดจเตเดฎเดพเดจเดฟเดเตเดเต. เด เดคเดฟเดจเดพเตฝ, เดเดคเดฟเดจเดเด เด เดเดเตเด เดเดเตเดเตเดชเตเดเตเดเต เดธเตเดเตเดฐเตเดฎเดฟเตฝ เด เดตเดธเดพเดจเดฟเดเตเด เดเดฐเต เดธเดจเตเดฆเตเดถเด เดฎเดพเดคเตเดฐเด. 30 เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเตฝ เดคเดพเดดเต เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดเดพเตป เดเดฟเดเตเดเดฑเตเดฑเต เดคเดฏเตเดฏเดพเดฑเดพเดฏเดฟ เดเดจเตเดจเต เด เดเดฏเดพเดณเดชเตเดชเตเดเตเดคเตเดคเตเด เดเดจเตเดจ เดชเตเตผเดฃเตเดฃ เดตเดฟเดถเตเดตเดพเดธเดคเตเดคเตเดเต เดเดพเตป เดเดฟเดเตเดเดฑเตเดฑเต เดเดเตเดเตเดเตเดจเตเดจเต, เดฌเตเตผเดกเต เดฎเดฑเตเดฑเตเดฐเต เดเดชเตเดชเตเดเดตเดฑเตเดเตพ เดฎเดพเดฏเตโเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดคเตเดเดฟเตฝ เดคเดเตเดเตเดเดฏเตเด เดเตเดเตเดคเตฝ เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดเดพเดฐเตเดฏเดเตเดเดณเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดฎเดฃเดฟเดเตเดเตเดฑเดฟเตฝ 200 เดเดฟเดฒเตเดฎเตเดฑเตเดฑเตผ เดตเตเดเดคเดฏเดฟเตฝ เดฎเดคเดฟเดฒเดฟเตฝ เดเดเดฟเดเตเดเต
เดซเดฏเตฝ เดคเตเดฑเดเตเดเตเดจเตเดจเต varnishreload
, Debian Stretch เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ เดเดจเตเดจเดฟเตฝ, 200 เดตเดฐเดฟเดเดณเดฟเตฝ เดคเดพเดดเต เดจเตเดณเดฎเตเดณเตเดณ เดเดฐเต เดทเตเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดพเตป เดเดฃเตเดเต.
เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเตเดเต เดเดเดจเตเดจเตเดชเตเดฏเดฟ, เดเตเตผเดฎเดฟเดจเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตเดฐเดฟเดเตเดเต เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดคเดตเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ เดชเตเดฐเดถเตโเดจเดเตเดเดณเตเดฃเตเดเดพเดเตเดเตเดจเตเดจ เดเดจเตเดจเตเด เดเดพเตป เดถเตเดฐเดฆเตเดงเดฟเดเตเดเดฟเดฒเตเดฒ.
เดเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดเดคเต เดเดฐเต เดธเตเดฑเตเดฑเตเดเดพเดฃเต, เดเดคเต เดชเตเดเตเดเดฟเดฏเดพเดฒเตเด เดเดฐเตเด เดชเดฐเดพเดคเดฟเดชเตเดชเตเดเดฟเดฒเตเดฒ, เดเตเดณเตเดณเดพเด.. เด เดฎเดฟเดคเดฎเดฒเตเดฒ. เดเดพเตป เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเต เดเตเตผเดฎเดฟเดจเดฒเดฟเตฝ เดเดจเตเดคเดพเดฃเต เดเดดเตเดคเดชเตเดชเตเดเตเด เดเดจเตเดจเต เดจเตเดเตเดเตเดจเตเดจเต, เดชเดเตเดทเต เดชเดฟเดถเดเตเดเตพ เดเดจเดฟ เดฆเตเดถเตเดฏเดฎเดพเดเดฟเดฒเตเดฒ.
เด เดงเดฟเด เดถเตเดฐเดฎเดเตเดเดณเตเดจเตเดจเตเดฎเดฟเดฒเตเดฒเดพเดคเต เดเดจเดฟเดเตเดเต เดชเดฟเดถเดเต เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดฑเดชเตเดชเดพเดเตเดเดพเตป เดเตเดฑเดเตเดเต เดฑเตบเดธเต เดเตเดเดฟ เดจเดเดคเตเดคเดฟ, เด เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดเตเดเดจเต เดฎเดพเดฑเตเดฑเดพเดฎเตเดจเตเดจเตเด เด เดคเต เดเดชเตเดชเตเดดเตเด เดเดฐเต เดชเดฟเดถเดเต เดธเตเดทเตเดเดฟเดเตเดเตเดฎเตเดจเตเดจเตเด เดเดพเตป เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเตป เดคเตเดเดเตเดเดฟ.
เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเต STDOUT เด
เดธเดพเดงเตเดตเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเดฎเต (เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต > &-
)? เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ STDERR? เดเดต เดฐเดฃเตเดเตเด เด
เดตเดธเดพเดจเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฟเดฒเตเดฒ.
เดชเตเดฐเดคเตเดฏเดเตเดทเดคเตเดคเดฟเตฝ systemd เดเดเตเดเดจเตเดฏเตเดเตเดเดฟเดฒเตเด เดธเตเดฑเตเดฑเดพเตผเดเตเดเดชเตเดชเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดฎเดพเดฑเตเดฑเด เดตเดฐเตเดคเตเดคเตเดจเตเดจเต, เดชเดเตเดทเต เดเดเตเดเดจเต, เดเดจเตเดคเตเดเตเดฃเตเดเต?
เดเดพเตป เดตเดฟเด เดคเตเดฑเดจเตเดจเต เดเดกเดฟเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต varnishreload
, เดเตเตผเดเตเดเตเดจเตเดจเต set -x
เดธเตโเดเตเดฐเดฟเดชเตโเดฑเตเดฑเดฟเดจเตเดฑเต เดกเตเดฌเดเต เดเดเตเดเตโเดชเตเดเตเดเต เดเตเดฑเดเตเดเต เดตเตเดณเดฟเดเตเดเด เดตเตเดถเตเดฎเตเดจเตเดจเต เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจ เดทเตเดฌเดพเดเตเดเดฟเดจเต เดเตเดดเดฟเตฝ.
เดซเดฏเตฝ เดถเดฐเดฟเดฏเดพเดเตเดเดฟ, เด
เดคเดฟเดจเดพเตฝ เดเดพเตป เดตเดพเตผเดฃเดฟเดทเต เดตเตเดฃเตเดเตเด เดฒเตเดกเตเดเตเดฏเตโเดคเต, เดฎเดพเดฑเตเดฑเด เดเดฒเตเดฒเดพเด เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดคเดเตผเดคเตเดคเดคเดพเดฏเดฟ เดเดพเดฃเตเดจเตเดจเต... เดเดเตโเดธเตโเดนเตเดธเตเดฑเตเดฑเต เดเดฐเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเตเดดเดชเตเดชเดฎเดพเดฃเต, เด
เดคเดฟเตฝ เดเตบ เดธเดฟ-เดชเตเดฒเตเดณเตเดณ เดเตเดกเต เดเดฃเตเดเต. เดเตเตผเดฎเดฟเดจเดฒเดฟเตฝ เดธเตเดเตเดฐเตเตพ เดเตเดฏเตโเดคเดพเตฝ เดชเตเดฒเตเด เด
เดคเต เดเดตเดฟเดเต เดคเตเดเดเตเดเตเดจเตเดจเต เดเดจเตเดจเต เดเดฃเตเดเตเดคเตเดคเดพเตป เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดฒเตเดฒ. เดเดพเตป เดเดเต เดเดถเดฏเดเตเดเตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเดฃเต. เดเดฐเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเตฝ เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจ เดชเตเดฐเตเดเตเดฐเดพเดฎเตเดเดณเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเต เดกเตเดฌเดเตเดเดฟเดเดเต เดฎเตเดกเต เดฌเดพเดงเดฟเดเตเดเตเดฎเต? เดเดฒเตเดฒ, เดเดคเต เด
เดธเดเดฌเดจเตเดงเดฎเดพเดฃเต. เดทเตเดฒเตเดฒเดฟเดฒเต เดฌเดเต? เดธเดพเดงเตเดฏเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดธเดพเดนเดเดฐเตเดฏเดเตเดเตพ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฆเดฟเดถเดเดณเดฟเดฒเตเดเตเดเต เดเดพเดเตเดเดชเตเดชเตเดเตเดเดณเตเดชเตเดชเตเดฒเต เดเดจเตเดฑเต เดคเดฒเดฏเดฟเดฒเตเดเต เดเดเตเดจเตเดจเต. เดเดซเตเตป เด
เดเดเตเดเดฟเดฏ เดชเดพเดจเตเดฏเดคเตเดคเดฟเดจเตเดฑเต เดเดชเตเดชเต เดคเตฝเดเตเดทเดฃเด เดถเตเดจเตเดฏเดฎเดพเดฏเดฟ, เดธเตเดฑเตเดฑเตเดเตเดเต เดจเดฟเดฑเดฏเตเดเตเดเดพเตป เด
เดเตเดเตเดเดณเดฏเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฐเต เดชเตเดเตเดเตเดจเตเดจเตเดณเตเดณ เดฏเดพเดคเตเดฐ... เดเดเตเดเตพ เดชเตเดเตเดจเตเดจเต. เดเดพเตป เดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดคเตเดฑเดจเตเดจเต เดทเตเดฌเดพเดเดเดฟเดจเต เดธเตเดเตเดทเตเดฎเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต: #!/bin/sh
.
/bin/sh
- เดเดคเต เดฌเดพเดทเดฟเดจเตเดณเตเดณ เดเดฐเต เดธเดฟเดเดฒเดฟเดเตเดเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต, เด
เดคเดฟเดจเดพเตฝ เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต POSIX-เด
เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดฎเตเดกเดฟเตฝ เดตเตเดฏเดพเดเตเดฏเดพเดจเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต, เด
เดฒเตเดฒเต? เด
เดเตเดเดจเต เด
เดฒเตเดฒ! เดกเตเดฌเดฟเดฏเดจเดฟเดฒเต เดกเดฟเดซเตเตพเดเตเดเต เดทเตเตฝ เดกเดพเดทเต เดเดฃเต, เด
เดคเต เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต. /bin/sh
.
# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jan 24 2017 /bin/sh -> dash
เดเดฐเต เดเตเดธเตเดฑเตเดฑเต เดเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดเดพเตป เดทเตเดฌเดพเดเดเต เดฎเดพเดฑเตเดฑเดฟ #!/bin/bash
, เดเดฒเตเดฒเดพเดคเดพเดเตเดเดฟ set -x
เดตเตเดฃเตเดเตเด เดถเตเดฐเดฎเดฟเดเตเดเต. เด
เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดตเดพเตผเดฃเดฟเดทเต เดฑเตเดฌเตเดเตเดเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดเดเตเดเตเดชเตเดเตเดเดฟเตฝ เดธเดนเดฟเดเตเดเดพเดตเตเดจเตเดจ เดเดฐเต เดชเดฟเดถเดเต เดชเตเดฐเดคเตเดฏเดเตเดทเดชเตเดชเตเดเตเดเต:
Jan 01 12:00:00 hostname varnishreload[32604]: /usr/sbin/varnishreload: line 124: echo: write error: Broken pipe
Jan 01 12:00:00 hostname varnishreload[32604]: VCL 'reload_20190101_120000_32604' compiled
เดฒเตเตป 124, เดเดคเดพ!
114 find_vcl_file() {
115 VCL_SHOW=$(varnishadm vcl.show -v "$VCL_NAME" 2>&1) || :
116 VCL_FILE=$(
117 echo "$VCL_SHOW" |
118 awk '$1 == "//" && $2 == "VCL.SHOW" {print; exit}' | {
119 # all this ceremony to handle blanks in FILE
120 read -r DELIM VCL_SHOW INDEX SIZE FILE
121 echo "$FILE"
122 }
123 ) || :
124
125 if [ -z "$VCL_FILE" ]
126 then
127 echo "$VCL_SHOW" >&2
128 fail "failed to get the VCL file name"
129 fi
130
131 echo "$VCL_FILE"
132 }
เดชเดเตเดทเต, 124 เดตเดฐเดฟ เดคเตเตผเดคเตเดคเตเด เดถเตเดจเตเดฏเดตเตเด เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฃเต. เดฒเตเตป 116-เตฝ เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดฎเตพเดเตเดเดฟเดฒเตเตป เดธเตเดเตเดฐเดฟเดเดเดฟเดจเตเดฑเต เดญเดพเดเดฎเดพเดฏเดพเดฃเต เดชเดฟเดถเดเต เดธเดเดญเดตเดฟเดเตเดเดคเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดเดนเดฟเดเตเดเดพเดตเตเดจเตเดจเดคเตเดฏเตเดณเตเดณเต.
เดเดคเตเดฏเดจเตเดคเดฟเดเดฎเดพเดฏเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดเดจเตเดคเดพเดฃเต เดเดดเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต? VCL_FILE
เดฎเตเดเดณเดฟเดฒเต เดธเดฌเต-เดทเตเตฝ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดซเดฒเดฎเดพเดฏเดฟ?
เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ, เดเดคเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต เดเดณเตเดณเดเดเตเดเดเตเดเตพ เด
เดฏเดฏเตเดเตเดเตเดจเตเดจเต VLC_SHOW
, เดชเตเดชเตเดชเต เดตเดดเดฟเดฏเตเดณเตเดณ เดเดฎเดพเตปเดกเต เด
เดจเตเดธเดฐเดฟเดเตเดเต, เดฒเตเตป 115-เตฝ เดธเตเดทเตเดเดฟเดเตเดเต. เดเดจเตเดจเดฟเดเตเดเต เด
เดตเดฟเดเต เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเต?
เดเดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เด
เดคเต เด
เดตเดฟเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต varnishadm
, เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเดคเต เดตเดพเตผเดฃเดฟเดทเต เดธเดเตเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดตเดพเตผเดฃเดฟเดทเต เดเตปเดธเตเดฑเตเดฑเดฒเตเดทเตป เดชเดพเดเตเดเตเดเดฟเดจเตเดฑเต เดญเดพเดเดฎเดพเดฃเต.
เดเดชเดธเดเดเด vcl.show -v
เตฝ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏ เดฎเตเดดเตเดตเตป เดตเดฟเดธเดฟเดเตฝ เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเด เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต ${VCL_NAME}
, STDOUT เดฒเตเดเตเดเต.
เดจเดฟเดฒเดตเดฟเดฒเต เดธเดเตเดตเดฎเดพเดฏ VCL เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเด เดฎเตเดฎเตเดฎเดฑเดฟเดฏเดฟเดฒเตเดณเตเดณ เดตเดพเตผเดฃเดฟเดทเต เดฑเตเดเตเดเดฟเดเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดเดณเตเดเต เดฎเตเตป เดชเดคเดฟเดชเตเดชเตเดเดณเตเด เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเดพเด. varnishadm vcl.list
, เดเดคเดฟเดจเตเดฑเต เดเดเตเดเตโเดชเตเดเตเดเต เดเตเดตเดเตเดฏเตเดณเตเดณเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด:
discarded cold/busy 1 reload_20190101_120000_11903
discarded cold/busy 2 reload_20190101_120000_12068
discarded cold/busy 16 reload_20190101_120000_12259
discarded cold/busy 16 reload_20190101_120000_12299
discarded cold/busy 28 reload_20190101_120000_12357
active auto/warm 32 reload_20190101_120000_12397
available auto/warm 0 reload_20190101_120000_12587
เดตเตเดฐเดฟเดฏเดฌเดฟเตพ เดฎเตเดฒเตเดฏเด ${VCL_NAME}
เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเตเดฑเต เดฎเดฑเตเดฑเตเดฐเต เดญเดพเดเดคเตเดคเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต varnishreload
เดจเดฟเดฒเดตเดฟเตฝ เดธเดเตเดตเดฎเดพเดฏ VCL เดเดฃเตเดเตเดเตเดเดฟเตฝ, เด
เดคเดฟเดจเตเดฑเต เดชเตเดฐเดฟเดฒเตเดเตเดเต. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ เด
เดคเต "reload_20190101_120000_12397" เดเดฏเดฟเดฐเดฟเดเตเดเตเด.
เดตเดฒเดฟเดฏ, เดตเตเดฐเดฟเดฏเดฌเดฟเตพ ${VCL_SHOW}
เดตเดพเตผเดฃเดฟเดทเดฟเดจเตเดณเตเดณ เดชเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเตเตบเดซเดฟเดเดฑเตเดทเตป เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดชเตเดชเตเตพ เดตเตเดฏเดเตเดคเดฎเดพเดฃเต. เดกเดพเดทเต เดเดเตเดเตเดชเตเดเตเดเต เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเตเดจเตเดจเต เดเดชเตเดชเตเตพ เดเดพเตป เดเดเตเดตเดฟเตฝ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเดจเตเดจเต set -x
เดตเดณเดฐเต เดคเดเตผเดจเตเดจเดคเดพเดฏเดฟ เดฎเดพเดฑเดฟ - เด
เดคเดฟเตฝ เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดเดพเดเตเดจเตเดจ เดเตเตบเดซเดฟเดเดฑเตเดทเดจเตเดฑเต เดเดณเตเดณเดเดเตเดเด เดเตพเดชเตเดชเตเดเตเดจเตเดจเต.
เดเดฐเต เดธเดฎเตเดชเตเตผเดฃเตเดฃ VCL เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดชเดฒเดชเตเดชเตเดดเตเด เดชเดฒ เดซเดฏเดฒเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดเดฐเตเดฎเดฟเดเตเดเต เดเตเตผเดเตเดเดพเตป เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเตเดฃเตเดเดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต. เดเดฟเดฒ เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดซเดฏเดฒเตเดเตพ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเดฟเตฝ เดเดตเดฟเดเตเดฏเดพเดฃเต เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเดพเตป เดธเดฟ-เดธเตเดฑเตเดฑเตเตฝ เดเดฎเดจเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เด
เดคเดพเดฃเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเตเดกเต เดธเตโเดจเดฟเดชเตเดชเตเดฑเตเดฑเดฟเดจเตเดฑเต เด
เตผเดคเตเดฅเด.
เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏ เดซเดฏเดฒเตเดเตพ เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจ เด
เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเดณเตเดเต เดตเดพเดเตเดฏเดเดเดจ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเตเตผเดฎเดพเดฑเตเดฑเดฟเดฒเดพเดฃเต:
// VCL.SHOW <NUM> <NUM> <FILENAME>
เด เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ เด เดเตเดเดเตเดเตพ เดชเตเดฐเดงเดพเดจเดฎเดฒเตเดฒ, เดซเดฏเตฝ เดจเดพเดฎเดคเตเดคเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเต.
เดฒเตเตป 116-เตฝ เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเดณเตเดเต เดเดคเตเดชเตเดชเดฟเตฝ เดเดคเตเดฏเดจเตเดคเดฟเดเดฎเดพเดฏเดฟ เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเต?
เดจเดฎเตเดเตเดเดคเต เดเดฃเตเดเตเดคเตเดคเดพเด.
เดเตเด เดจเดพเดฒเต เดญเดพเดเดเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจเต:
- เดฒเดณเดฟเดคเด
echo
, เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด เดชเตเดฐเดฟเดจเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเต${VCL_SHOW}
echo "$VCL_SHOW"
awk
, เดเดฐเต เดตเดฐเดฟ (เดฑเตเดเตเดเตเตผเดกเต) เดคเดฟเดฐเดฏเตเดจเตเดจเต, เด เดตเดฟเดเต เดตเดพเดเดเด เดคเดเตผเดคเตเดคเดคเดฟเดจเต เดถเตเดทเด เดเดฆเตเดฏเดคเตเดคเต เดซเตเตฝเดกเต "//" เดเดฃเต, เดฐเดฃเตเดเดพเดฎเดคเตเดคเตเดคเต "VCL.SHOW" เดเดฃเต.
เด เดชเดพเดฑเตเดฑเตเดฃเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจ เดเดฆเตเดฏ เดตเดฐเดฟ Awk เดเดดเตเดคเตเดเดฏเตเด เดคเตเดเตผเดจเตเดจเต เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดเดเดจเดเดฟ เดจเดฟเตผเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด.awk '$1 == "//" && $2 == "VCL.SHOW" {print; exit}'
- เดซเตเตฝเดกเต เดฎเตเดฒเตเดฏเดเตเดเดณเต เดธเตโเดชเตเดฏเตโเดธเตเดเดณเดพเตฝ เดตเตเตผเดคเดฟเดฐเดฟเดเตเด เด
เดเตเดเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเดพเดฏเดฟ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจ เดเตเดกเดฟเดจเตเดฑเต เดเดฐเต เดฌเตเดฒเตเดเตเดเต. เด
เดเตเดเดพเดฎเดคเตเดคเต FILE เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเต เดฌเดพเดเตเดเดฟเดฏเตเดณเตเดณ เดตเดฐเดฟเดเตพ เดฒเดญเดฟเดเตเดเตเดจเตเดจเต. เด
เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เด
เดตเดธเดพเดจ เดเดเตเดเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต เดเดณเตเดณเดเดเตเดเดเตเดเตพ เดเดดเตเดคเตเดจเตเดจเต
${FILE}
.{ read -r DELIM VCL_SHOW INDEX SIZE FILE; echo "$FILE" }
- 1 เดฎเตเดคเตฝ 3 เดตเดฐเตเดฏเตเดณเตเดณ เดเดฒเตเดฒเดพ เดเดเตเดเดเตเดเดณเตเด เดเดฐเต เดธเดฌเตเดทเตเดฒเตเดฒเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดฎเตเดฒเตเดฏเด เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต
$FILE
เดเดฐเต เดตเตเดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดเดดเตเดคเดชเตเดชเตเดเตเดVCL_FILE
.
เดฒเตเตป 119-เดฒเต เดเดฎเดจเตเดฑเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต, VCL เดซเดฏเดฒเตเดเตพ เด เดตเดฏเตเดเต เดชเตเดฐเตเดเดณเดฟเตฝ เดธเตโเดชเตเดฏเตโเดธเตเดเดณเตเดณเตเดณ เดฑเดซเดฑเตปเดธเต เดเตเดฏเตเดฏเตเดจเตเดจ เดเตเดธเตเดเตพ เดตเดฟเดถเตเดตเดธเดจเตเดฏเดฎเดพเดฏเดฟ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเด เดเดฆเตเดฆเตเดถเตเดฏเดฎเดพเดฃเต เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต.
เดเดคเดฟเดจเตเดฑเต เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดฒเตเดเดฟเดเตเดเต เดเดพเตป เดเดฎเดจเตเดฑเต เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต ${VCL_FILE}
เดเดฎเดพเตปเดกเต เดธเตเดเตเดตเตปเดธเต เดฎเดพเดฑเตเดฑเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเต, เดชเดเตเดทเต เด
เดคเต เดเดจเตเดจเตเด เดจเดฏเดฟเดเตเดเดฟเดฒเตเดฒ. เดเดฒเตเดฒเดพเด เดเดจเดฟเดเตเดเต เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเต, เดชเดเตเดทเต เดเดพเตป เดธเตเดตเดจเด เดเดฐเดเดญเดฟเดเตเดเดชเตเดชเตเตพ เด
เดคเต เดเดฐเต เดชเดฟเดถเดเต เดจเตฝเดเดฟ.
เดธเตโเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดธเตเดตเดฎเตเดงเดฏเดพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ เดชเดฟเดถเดเต เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต, เด
เดคเตเดธเดฎเดฏเด 30 เดฎเดฟเดจเดฟเดฑเตเดฑเต เดเดคเดฟเดจเดเด เดเดฑเต เดคเดตเดฃ เดเดพเดฒเดนเดฐเดฃเดชเตเดชเตเดเตเดเต, เดเตเดเดพเดคเต, เดเดฏเตผเดจเตเดจ เดฎเตเตปเดเดฃเดจเดฏเตเดณเตเดณ เดเดฐเต เดเดพเดธเตโเดเต เดชเตเดฐเดคเตเดฏเดเตเดทเดชเตเดชเตเดเตเดเต, เดฎเดฑเตเดฑเต เดเดพเดฐเตเดฏเดเตเดเตพ เดฎเดพเดฑเตเดฑเดฟเดตเดเตเดเต. เดเดดเตโเดเดฏเดฟเดฒเต เดฌเดพเดเตเดเดฟ เดธเดฎเดฏเด เดชเดฒเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดเตเดฒเดฟเดเดณเดพเตฝ เดจเดฟเดฑเดเตเดเดฟเดฐเตเดจเตเดจเต, เดธเตเดกเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฐเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเด เดเดฐเต เดธเตเดฅเดพเดจเดพเตผเดคเตเดฅเดฟเดฏเตเดฎเดพเดฏเตเดณเตเดณ เด
เดญเดฟเดฎเตเดเดตเตเด เดเตเดฃเตเดเต เด
เดคเต เดเตเดฑเตเดคเดพเดฏเดฟ เดจเตเตผเดชเตเดชเดฟเดเตเดเต. เดชเดฟเดถเดเตเดณเตเดณ เดชเตเดฐเดถเตเดจเด varnishreload
เดเดพเดฒเดคเตเดคเดฟเดจเตเดฑเต เดฎเดฃเดฒเดฟเตฝ เดคเดฟเดฐเดฟเดเตเดเตเดเตเดเตเดเดพเดจเดพเดตเดพเดคเตเดคเดตเดฟเดงเด เดจเดทเตเดเดชเตเดชเตเดเตเดเต.
เดจเดฟเดเตเดเดณเตเดเต เดธเตเดกเต-เดซเต... เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ... เดฎเดพเดฒเดฟเดจเตเดฏเดฎเดพเดฃเต
เด เดเตเดคเตเดค เดเดดเตโเด เดเดจเดฟเดเตเดเต เดคเดฟเดเดเตเดเตเด เดธเตเดเดจเตเดฏเดฎเดพเดฏ เดเดฐเต เดฆเดฟเดตเดธเด เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เด เดเดฟเดเตเดเดฑเตเดฑเต เดตเตเดฃเตเดเตเด เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเดพเตป เดเดพเตป เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเต. เดเดจเตเดฑเต เดฎเดธเตเดคเดฟเดทเตเดเดคเตเดคเดฟเตฝ, เด เดธเดฎเดฏเดฎเดคเตเดฐเดฏเตเด เดเดฟเดฒ เดชเดถเตเดเดพเดคเตเดคเดฒ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เด เดชเตเดฐเดถเตโเดจเดคเตเดคเดฟเดจเต เดชเดฐเดฟเดนเดพเดฐเด เดคเตเดเตเดจเตเดจเตเดฃเตเดเตเดจเตเดจเต เดเดพเตป เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเต, เดเดคเตเดคเดตเดฃ เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเด.
เดเดดเดฟเดเตเด เดคเดตเดฃ เดเตเดกเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดธเดนเดพเดฏเดฟเดเตเดเดพเดคเตเดคเดคเดฟเดจเดพเตฝ, 116 เดตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด
เดคเต เดฎเดพเดฑเตเดฑเดฟเดฏเตเดดเตเดคเดพเตป เดเดพเตป เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเต. เดเดคเดพเดฏเดพเดฒเตเด เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดเตเดกเต เดฎเดฃเตเดเดคเตเดคเดฐเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดเตเดเดพเดคเต เด
เดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ read
.
เดชเดฟเดถเดเต เดตเตเดฃเตเดเตเด เดจเตเดเตเดเตเดจเตเดจเต:
sh: echo: broken pipe
- เด เดเดฎเดพเตปเดกเดฟเตฝ เดฐเดฃเตเดเต เดธเตเดฅเดฒเดเตเดเดณเดฟเตฝ เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ เดฆเตเดถเตเดฏเดฎเดพเดเตเดจเตเดจเต, เดชเดเตเดทเต เดเดฆเตเดฏเดคเตเดคเตเดคเต เดเตเดเตเดคเตฝ เดธเดพเดงเตเดฏเดคเดฏเตเดณเตเดณ เดเตเดฑเตเดฑเดตเดพเดณเดฟเดฏเดพเดฃเตเดจเตเดจเต เดเดพเตป เดธเดเดถเดฏเดฟเดเตเดเตเดจเตเดจเต (เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเดฑเดเตเดเดคเต เดเดฐเต เดชเดเตเดเดพเดณเดฟเดฏเตเดเตเดเดฟเดฒเตเด). Awk เดเดคเตเดฎเดตเดฟเดถเตเดตเดพเดธเด เดจเตฝเดเตเดจเตเดจเดฟเดฒเตเดฒ. เด
เดคเต เดถเดฐเดฟเดเตเดเตเด เดเดฃเตเดเตเดเดฟเตฝ awk | {read; echo}
เดกเดฟเดธเตเตป เด เดชเตเดฐเดถเตเดจเดเตเดเดณเดฟเดฒเตเดเตเดเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเต, เดเดจเตเดคเตเดเตเดฃเตเดเต เด
เดคเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเดเตเดเดพ? เด เดเดฑเตเดฑเดตเดฐเดฟ เดเดฎเดพเตปเดกเต awk-เดจเตเดฑเต เดเดฒเตเดฒเดพ เดธเดตเดฟเดถเตเดทเดคเดเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เด เด
เดงเดฟเดเดตเตเด read
เดเดคเตเดเตเดเดพเดคเต.
เดเดดเดฟเดเตเด เดเดดเตเด เดฎเตเดคเตฝ เดเดฐเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต sed
, เดชเตเดคเตเดคเดพเดฏเดฟ เดจเตเดเดฟเดฏ เดเดจเตเดฑเต เดเดดเดฟเดตเตเดเตพ เดชเดฐเตเดเตเดทเดฟเดเตเดเดพเดจเตเด เดฒเดณเดฟเดคเดฎเดพเดเตเดเดพเดจเตเด เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเต echo | awk | { read; echo}
เดเตเดเตเดคเตฝ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเดตเตเดจเตเดจเดคเดฟเดฒเตเดเตเดเต echo | sed
. เดเดคเต เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดฌเดเต เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด เดจเดฒเตเดฒ เดธเดฎเตเดชเดจเดฎเดฒเตเดฒเตเดเตเดเดฟเดฒเตเด, เดเตเดฑเดเตเดเดคเต เดเดจเตเดฑเต เดธเตเดกเต-เดซเต เดชเดฐเตเดเตเดทเดฟเดเตเดเดฃเดฎเตเดจเตเดจเตเด เดชเตเดฐเดถเตโเดจเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเต เดชเตเดคเดฟเดฏ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดชเด เดฟเดเตเดเดฃเดฎเตเดจเตเดจเตเด เดเดพเตป เดเดฐเตเดคเดฟ. เดตเดดเดฟเดฏเดฟเตฝ, เดธเตเดกเต เดเตเดเตเดเดฟเดจเตเดฑเต เดฐเดเดฏเดฟเดคเดพเดตเดพเดฏ เดเดจเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเดจเตเดเต เดเตเดเตเดคเตฝ เดเดพเดฐเตเดฏเดเตเดทเดฎเดฎเดพเดฏ เดธเตเดกเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเตเดฃเตเดเตเดตเดฐเดพเตป เดเดจเตเดจเต เดธเดนเดพเดฏเดฟเดเตเดเดพเตป เดเดพเตป เดเดตเดถเตเดฏเดชเตเดชเตเดเตเดเต.
เดเดพเตป เดเดณเตเดณเดเดเตเดเด เดเดชเตเดเตเดทเดฟเดเตเดเต varnishadm vcl.show -v "$VCL_NAME"
เดเดฐเต เดซเดฏเดฒเดฟเดฒเตเดเตเดเต, เด
เดคเดฟเดจเดพเตฝ เดธเตผเดตเตเดธเต เดฑเตเดฌเตเดเตเดเตเดเดณเตเดเต เดเดฐเต เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเตเด เดเตเดเดพเดคเต เดธเตเดกเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดดเตเดคเตเดจเตเดจเดคเดฟเตฝ เดเดจเดฟเดเตเดเต เดถเตเดฐเดฆเตเดง เดเตเดจเตเดฆเตเดฐเตเดเดฐเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดธเตเดกเต เดชเตเดฐเตเดธเดธเต เดเตปเดชเตเดเตเดเต เดเดเตเดเดจเต เดเดฃเตเดเตเดคเตเดคเดพเด เดเดจเตเดจเดคเดฟเดจเตเดฑเต เดเดฐเต เดเตเดฑเดฟเดฏ เดตเดฟเดตเดฐเดฃเด n
เดเดฐเต เดฒเตเตป เดธเตเดชเตเดชเดฑเตเดฑเตเดฑเดฑเดพเดฏเดฟ เดตเตเดฏเดเตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเดฐเดตเดงเดฟ เดชเดพเดธเตเดเดณเดฟเดฒเตเด เดเดจเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเดเดจเตเดฑเต เดถเตเดชเดพเตผเดถเดเดณเตเดเตเดฏเตเด เดเดเตเดเตพ เดเดฐเต เดธเตเดกเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดดเตเดคเดฟ, เด เดคเต เดฏเดฅเดพเตผเดคเตเดฅ เดตเดฐเดฟ 116-เดจเตเดฑเต เด เดคเต เดซเดฒเด เดจเตฝเดเดฟ.
เดเตปเดชเตเดเตเดเต เดกเดพเดฑเตเดฑเดฏเตเดณเตเดณ เดเดฐเต เดธเดพเดฎเตเดชเดฟเตพ เดซเดฏเตฝ เดเตเดตเดเตเดฏเตเดฃเตเดเต:
> cat vcl-example.vcl
Text
// VCL.SHOW 0 1578 file with 3 spaces.vcl
More text
// VCL.SHOW 0 1578 file.vcl
Even more text
// VCL.SHOW 0 1578 file with TWOspaces.vcl
Final text
เดฎเตเดเดณเดฟเดฒเต เดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดคเต เดตเตเดฏเดเตเดคเดฎเดพเดเดฃเดฎเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเดเตเดทเต เดเดฆเตเดฏ เด
เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณเต // VCL.SHOW
, เดเตเดเดพเดคเต เดเตปเดชเตเดเตเดเต เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เด
เดตเดฏเดฟเตฝ เดชเดฒเดคเตเด เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด. เด
เดคเตเดเตเดฃเตเดเดพเดฃเต เดเดฆเตเดฏ เดฎเดคเตเดธเดฐเดคเตเดคเดฟเดจเต เดถเตเดทเด เดฏเดฅเดพเตผเดคเตเดฅ awk เด
เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจเดคเต.
# ัะฐะณ ะฟะตัะฒัะน, ะฒัะฒะตััะธ ัะพะปัะบะพ ัััะพะบะธ ั ะบะพะผะผะตะฝัะฐัะธัะผะธ
# ะธัะฟะพะปัะทัั ะฒะพะทะผะพะถะฝะพััะธ sed, ะพะฟัะตะดะตะปัะตััั ัะธะผะฒะพะป-ัะฐะทะดะตะปะธัะตะปั ั ะฟะพะผะพััั ะบะพะฝััััะบัะธะธ '#' ะฒะผะตััะพ ะพะฑััะฝะพ ะธัะฟะพะปัะทัะตะผะพะณะพ '/', ะทะฐ ัััั ััะพะณะพ ะฝะต ะฟัะธะดัััั ัะบัะฐะฝะธัะพะฒะฐัั ะบะพััะต ะฒ ะธัะบะพะผะพะผ ะบะพะผะผะตะฝัะฐัะธะธ
# ะพะฟัะตะดะตะปัะตััั ัะตะณัะปััะฝะพะต ะฒััะฐะถะตะฝะธะต โ// VCL.SHOWโ, ะดะปั ะฟะพะธัะบะฐ ัััะพะบ ั ะพะฟัะตะดะตะปะตะฝะฝัะผ ัะฐะฑะปะพะฝะพะผ
# ัะปะฐะณ -n ะฟะพะทะฐะฑะพัะธััั ะพ ัะพะผ, ััะพะฑั sed ะฝะต ะฒัะฒะพะดะธะป ะฒัะต ะฒั
ะพะดะฝัะต ะดะฐะฝะฝัะต, ะบะฐะบ ะพะฝ ััะพ ะดะตะปะฐะตั ะฟะพ ัะผะพะปัะฐะฝะธั (ัะผ. ัััะปะบั ะฒััะต)
# -E ะฟะพะทะฒะพะปัะตั ะธัะฟะพะปัะทะพะฒะฐัั ัะฐััะธัะตะฝะฝัะต ัะตะณัะปััะฝัะต ะฒััะฐะถะตะฝะธั
> cat vcl-processor-1.sed
#// VCL.SHOW#p
> sed -En -f vcl-processor-1.sed vcl-example.vcl
// VCL.SHOW 0 1578 file with 3 spaces.vcl
// VCL.SHOW 0 1578 file.vcl
// VCL.SHOW 0 1578 file with TWOspaces.vcl
# ัะฐะณ ะฒัะพัะพะน, ะฒัะฒะตััะธ ัะพะปัะบะพ ะธะผั ัะฐะนะปะฐ
# ะธัะฟะพะปัะทัั ะบะพะผะฐะฝะดั โsubstituteโ, ั ะณััะฟะฟะฐะผะธ ะฒะฝัััะธ ัะตะณัะปััะฝัั
ะฒััะฐะถะตะฝะธะน, ะพัะพะฑัะฐะถะฐะตััั ัะพะปัะบะพ ะฝัะถะฝะฐั ะณััะฟะฟa
# ะธ ััะพ ะดะตะปะฐะตััั ัะพะปัะบะพ ะดะปั ัะพะฒะฟะฐะดะตะฝะธะน, ัะฐะฝะตะต ะพะฟะธัะฐะฝะฝะพะณะพ ะฟะพะธัะบะฐ
> cat vcl-processor-2.sed
#// VCL.SHOW# {
s#.* [0-9]+ [0-9]+ (.*)$#1#
p
}
> sed -En -f vcl-processor-2.sed vcl-example.vcl
file with 3 spaces.vcl
file.vcl
file with TWOspaces.vcl
# ัะฐะณ ััะตัะธะน, ะฟะพะปััะธัั ัะพะปัะบะพ ะฟะตัะฒัะน ะธะท ัะตะทัะปััะฐัะพะฒ
# ะบะฐะบ ะธ ะฒ ัะปััะฐะต ั awk, ะดะพะฑะฐะฒะปัะตััั ะฝะตะผะตะดะปะตะฝะฝะพะต ะทะฐะฒะตััะตะฝะธั ะฟะพัะปะต ะฟะตัะฐัะธ ะฟะตัะฒะพะณะพ ะฝะฐะนะดะตะฝะฝะพะณะพ ัะพะฒะฟะฐะดะตะฝะธั
> cat vcl-processor-3.sed
#// VCL.SHOW# {
s#.* [0-9]+ [0-9]+ (.*)$#1#
p
q
}
> sed -En -f vcl-processor-3.sed vcl-example.vcl
file with 3 spaces.vcl
# ัะฐะณ ัะตัะฒะตัััะน, ัั
ะปะพะฟะฝััั ะฒัั ะฒ ะพะดะฝะพัััะพัะฝะธะบ, ะธัะฟะพะปัะทัั ะดะฒะพะตัะพัะธั ะดะปั ัะฐะทะดะตะปะตะฝะธั ะบะพะผะฐะฝะด
> sed -En -e '#// VCL.SHOW#{s#.* [0-9]+ [0-9]+ (.*)$#1#p;q;}' vcl-example.vcl
file with 3 spaces.vcl
เด เดคเดฟเดจเดพเตฝ, เดตเดพเตผเดฃเดฟเดทเตเดฐเตเดฒเตเดกเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดจเตเดฑเต เดเดณเตเดณเดเดเตเดเด เดเดคเตเดชเตเดฒเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเตเด:
VCL_FILE="$(echo "$VCL_SHOW" | sed -En '#// VCL.SHOW#{s#.*[0-9]+ [0-9]+ (.*)$#1#p;q;};')"
เดฎเตเตฝเดชเตเดชเดฑเดเตเด เดฏเตเดเตเดคเดฟเดฏเต เดธเดเดเตเดทเดฟเดชเตเดคเดฎเดพเดฏเดฟ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเตเดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดเดเดฟเดชเตเดชเดฟเดเตเดเดพเด:
เดธเตเดเตเดฐเดฟเดเดเต เดเดฐเต เดธเดพเดงเดพเดฐเดฃ เดชเดฆเดชเตเดฐเดฏเตเดเดตเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเตเดตเตเดเตเดเดฟเตฝ // VCL.SHOW
, เดคเตเดเตผเดจเตเดจเต เด เดตเดฐเดฟเดฏเดฟเดฒเต เดฐเดฃเตเดเต เด
เดเตเดเดเตเดเดณเตเด เดเตพเดชเตเดชเตเดเตเดจเตเดจ เดตเดพเดเดเด เด
เดคเตเดฏเดพเดเตเดฐเดนเดคเตเดคเตเดเต เดตเดฟเดดเตเดเตเดเตเด, เด เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เดถเตเดทเด เดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเตเดฒเตเดฒเดพเด เดธเดเดฐเดเตเดทเดฟเดเตเดเตเด. เดธเดเดญเดฐเดฟเดเตเด เดฎเตเดฒเตเดฏเด เดเดฎเดฟเดฑเตเดฑเต เดเตเดฏเตเดคเต เดชเตเดฐเตเดเตเดฐเดพเด เด
เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดเตเดเตเด.
เดฒเดณเดฟเดคเด, เด เดฒเตเดฒเต?
เดธเตเดกเต เดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเตเด เด
เดคเต เดเดฒเตเดฒเดพ เดเดฑเดฟเดเดฟเดจเตฝ เดเตเดกเดฟเดจเตเดฏเตเด เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเดคเดฟเดฒเตเด เดเดเตเดเตพ เดธเดจเตเดคเตเดทเตเดเดฐเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดเดจเตเดฑเต เดเดฒเตเดฒเดพ เดชเดฐเดฟเดถเตเดงเดจเดเดณเตเด เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเดฒเดเตเดเตพ เดจเตฝเดเดฟ, เด
เดคเดฟเดจเดพเตฝ เดเดพเตป เดธเตเตผเดตเดฑเดฟเดฒเต "เดตเดพเตผเดฃเดฟเดทเตเดฐเตเดฒเตเดกเต" เดฎเดพเดฑเตเดฑเดฟ เดตเตเดฃเตเดเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเต systemctl reload varnish
. เดฎเตเดถเด เดคเตเดฑเตเดฑเต echo: write error: Broken pipe
เดเดเตเดเดณเตเดเต เดฎเตเดเดคเตเดคเต เดตเตเดฃเตเดเตเด เดเดฟเดฐเดฟเดเตเดเต. เดเตเตผเดฎเดฟเดจเดฒเดฟเดจเตเดฑเต เดเดฐเตเดฃเตเด เดถเตเดจเตเดฏเดคเดฏเดฟเตฝ เดเดฐเต เดชเตเดคเดฟเดฏ เดเดฎเดพเตปเดกเดฟเดจเดพเดฏเดฟ เดเดฃเตเดฃเดฟเดฑเตเดเตเดเตเดจเตเดจ เดเดดเตเดธเตผ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต...
เด เดตเดฒเดเดฌเด: www.habr.com