Por que o terminal do Ubuntu não é interativo?

2

Sou muito novo no Ubuntu.

Se eu fizer:

rm removeText

O terminal está fazendo isso silenciosamente. Por que ele não diz:

removeText removed

ou algo similar? Eu gostaria que assim toda vez que eu removesse um arquivo, eu não teria que executar ls para ver se o arquivo foi removido ou não.

Existe alguma maneira de mudar esse comportamento?

    
por Ant's 08.08.2012 / 11:20

1 resposta

7

Porque confia em você para saber o que está fazendo. Normalmente, os comandos Unix e Linux apenas informam se algo deu errado e, de outra forma, ficarão quietos. Isso torna os comandos fáceis de usar em scripts ou quando encadeados - você precisará dizer a eles que deseja uma saída específica.

Então, se houvesse um problema ao remover um arquivo, você teria recebido um erro.

Como obter uma caixa de diálogo de confirmação:

Se você quiser um diálogo de confirmação antes de remover um arquivo, use rm -i ou rm -I (o último está disponível no GNU / Linux, e não no OS X ou em qualquer sistema derivado do BSD):

   -i     prompt before every removal

   -I     prompt once before removing more than three files, or when removing recursively.  Less intrusive than -i, while still giv‐
          ing protection against most mistakes

Sabendo o que foi removido:

Se você quiser apenas ver qual arquivo foi removido, use rm -v (v para "verbose", um sinalizador presente em muitas ferramentas de linha de comando). Você também pode aliasar seu rm para usar rm -v adicionando a seguinte linha ao seu arquivo ~/.bashrc (veja aqui sobre como fazer isso).

alias rm='rm -v'

O alias "substituirá" o comando interno pelo da mão direita da expressão.

Uma palavra de cautela:

Observe que o uso de comandos incorporados é geralmente considerado uma prática ruim. Por quê? Se você se acostumar a obter diálogos de confirmação, e de repente você estiver em outro sistema, digite rm /some/important/file , você acabará removendo um arquivo que não queria, e ele terá desaparecido. Para sempre.

Eu sugiro que você aprenda a viver com os padrões, a menos que você esteja absolutamente confiante em relação ao shell do Linux.

Além disso, sempre leia man rm - ou geralmente os manpages de comandos que você deseja usar. Eles geralmente fornecem informações adicionais sobre erros comuns, outras sinalizações e outras advertências.

    
por 08.08.2012 / 11:23