echo 1 > /sys/block/sda/device/rescan >/dev/null 2>&1
^ ^
Você tem dois redirecionamentos de saída aqui. Este último tem efeito, então isso é equivalente a:
echo 1 >/dev/null 2>&1
que não escreve nada em arquivos em /sys
.
O comando que você está executando aqui é echo
, que imprime apenas para stdout o que você pede para imprimir na linha de comando, por isso não vai imprimir nada "surpreendente" lá. Além disso, embora você possa receber erros se o primeiro redirecionamento não puder ser aberto, eles provavelmente virão quando o redirecionamento for processos, ou seja, a partir do shell, não do próprio comando, portanto, mesmo o redirecionamento 2>
pode não fazer nada. / p>
Por outro lado, se o acionamento da nova varredura causar uma saída em algum lugar, é provável que ela venha do kernel, através dos mecanismos usuais de registro. Então você precisa verificar qual é a configuração de registro para controlar isso.
Se você estiver usando um terminal virtual do Linux, algumas mensagens do kernel são impressas no vt ativo. Você pode usar dmesg -n<level>
para definir o nível de prioridade de mensagens de mensagens enviadas para o console.