O Bash é o único shell que permite ao usuário abrir um fd maior que 9 diretamente usando a sintaxe de redirecionamento normal. Assim, em outros shells, o comando é equivalente a (...) 200 1>mylockfile2
, que é um erro de sintaxe. posix apenas mandatos de apoio 0-9. Se você realmente quiser garantir que o fd usado com o bloqueio já não esteja em uso, você pode usar a sintaxe especificamente projetada para abrir o próximo fd disponível.
(foo "$lockfd";...) {lockfd}>file