Ставить в очередь несколько заданий после текущего в оболочке

Использование SED:

sed -i 's/_1,/,  /g' file.csv
1
27.08.2020, 20:36
1 ответ

Если вы работаете в системе GNU/Linux или у вас установлены coreutils, используйте flock (1)(возможно, используя сам исполняемый файл/команду в качестве файла блокировки):

% cat linger
echo -n $$; date +%s; sleep $1

% flock./linger./linger 8 &
[3] 5941
% 59421598557788

% flock./linger./linger 9 &
[4] 5945
% flock./linger./linger 11 &
[5] 5946
% 59471598557796
59501598557805

[3]   Done                    flock./linger./linger 8
[4]   Done                    flock./linger./linger 9
[5]   Done                    flock./linger./linger 11

То, что вы пытаетесь сделать, не работает, потому что для оболочки остановка команды равносильна ее немедленному завершению с не -нулевым (статусом сбоя ):

% sleep 10 || echo FAIL
^Z
[3]+  Stopped                 sleep 10
FAIL
% fg
sleep 10
% echo $?
0
0
18.03.2021, 23:09

Теги

Похожие вопросы