A página man para dhclient-script (8) define o comportamento cuidadosamente. Os scripts serão chamados para cada ação possível:
OPERATION When
dhclientneeds to invoke the client configuration script, it defines a set of variables in the environment, and then invokesCLIENTBINDIR/dhclient-script. In all cases,$reasonis set to the name of the reason why the script has been invoked. The following reasons are currently defined:MEDIUM,PREINIT,BOUND,RENEW,REBIND,REBOOT,EXPIRE,FAIL,STOP,RELEASE,NBIandTIMEOUT.
Uma correção fácil para o seu script seria adicionar a linha apenas se ela ainda não existir. Uma correção melhor seria corresponder a $reason para os valores de casos apropriados.
#!/bin/bash
grep -q '^options' /etc/resolv.conf ||
echo 'options timeout:1 attempts:1 rotate' >>/etc/resolv.conf
true