Неэлегантный bash
, присоединиться
, и вариант GNU sed
:
join -a1 -a2 -o 0 1.2,2.2,1.3,2.3 file1 <(sed 's/ \([0-9]*\)/ -\1/g' file2) | \
sed 's/ -/-/g;s/[0-9]*-[0-9]*/$((&))/g;s/.*/echo &/eg'
Вывод:
game1 10 -5
game3 40 5
game4 -40 -2
Сценарии оболочки могут устанавливать свои собственные обработчики сигналов с помощью ключевого слова trap
. В вашем сценарии вы хотите игнорировать SIGHUP, поэтому вы должны позвонить куда-нибудь перед завершением сеанса ldm
trap '' SIGHUP
, где ''
(пустая строка) указывает, что вы хотите игнорировать SIGHUP (в противном случае вы бы указали сигнал код обработки здесь).