Nesta linha:
tr a A < /etc/hosts | sort -r |pr -d > /etc/hosts
qual seria o resultado esperado? Eu sei que 'a' minúsculo mudaria para 'A' maiúsculo, mas o que vem a seguir? O arquivo original seria substituído, já que o redirecionamento tem o mesmo nome de arquivo?
shell
io-redirection
tr
tdharrison
fonte
fonte
bash: /etc/hosts: Permission denied
erro (assumindo que seu shell seja bash), a menos que esteja executando isso comoroot
./etc/hosts
normalmente é gravável apenas pela raiz. Se você está executando isso comoroot
(o que você realmente não deveria), ficaria vazio,/etc/hosts
como Michael Homer explicou.Respostas:
O resultado esperado é um
/etc/hosts
arquivo em branco .O redirecionamento
> /etc/hosts
ocorre e trunca o arquivo antes que os programas comecem a ser executados etr
começa a ler o arquivo.Para gravar a saída
/etc/hosts
, você pode trabalhar com uma cópia do arquivo (ou mover seu arquivo de saída posteriormente) ou usar osponge
comando de moreutils , que absorverá a entrada padrão e gravará em um arquivo:Nesse caso, cada "a" in
/etc/hosts
será substituído por "A", todas as linhas serão classificadas no sentido inverso de acordo com a sua localidade , uma linha em branco será inserida entre cada linha e o resultado será inserido/etc/hosts
.Você também pode achar útil:
fonte