root@Andromeda:/# ulimit -n -S
2048
root@Andromeda:/# ulimit -n -H
2048
root@Andromeda:/# ulimit -n -S 4096
2048
root@Andromeda:/# echo $?
0
A falha em definir o limite suave acima do limite rígido faz sentido.
O que talvez não faça sentido é por que o código de saída dessa tentativa é 0
.
Parece que colocar
-H
ou-S
no final faz com que ele relate, não seja definido. E, portanto, nenhum erro. O número no final parece ser ignorado. Tanto quanto eu posso dizer, isso deve ser um erro de uso, mas não um erro de limites.