set
Este comando controla o comportamento do shell, conta com várias opções e argumentos, mas explicarei apenas os mais importantes.
Um erro muito comum que as pessoas cometem ao usar comandos de sobreposição, como o cp e o mv, é substituir arquivos corretos inadvertidamente. Para evitar o risco, use um ''alias'' (explicado na Parte 1 desta série), por exemplo, usando a opção mv –i em vez de simplesmente mv. Entretanto, como você pode impedir que alguém ou algum script substitua os arquivos pelo operador de redirecionamento (''>'')?
Vejam,os um exemplo. Imagine que você tem um arquivo chamado very_important.txt e alguém (ou algum script) acidentalmente usou uma linha de comando como:
# ls -l > very_important.txt
O arquivo é substituído imediatamente e seu conteúdo original é perdido. Para evitar esse risco, você pode usar o comando set com a opção -o noclobber, conforme segue:
# set -o noclobber
Depois da emissão desse comando, se alguém tentar sobrescrever o arquivo:
# ls -l > very_important.txt
-bash: very_important.txt: cannot overwrite existing file
O shell agora impede a substituição do arquivo. Mas e se você quiser sobrescrevê-lo? Use o operador >|.
# ls -l >| very_important.txt
Para desativá-lo:
# set +o noclobber
Outro comando muito funcional para usar o editor vi a fim de editar comandos. Mais adiante nesta parte da série, você aprenderá a verificar os comandos emitidos e como reexecutá-los. Uma maneira rápida de reexecutar o comando é recuperá-lo usando o editor vi. Para ativá-lo, execute o seguinte comando:
# set -o vi
Agora, imagine que você está procurando um comando que contém a letra ''v'' (como vi, vim etc.). Para procurar o comando, digite esta sequência de caracteres. As teclas a serem pressionadas aparecem entre colchetes:
# [Escape Key][/ key][v key][ENTER Key]
Essa sequência recuperará o último comando executado contendo a letra ''v''. Nesse caso, como o último comando foi –o vi, essa opção aparece no prompt de comando.
# set -o vi
Se esse não for o comando procurado, pressione a tecla ''n'' para recuperar o comando seguinte. Desse modo, você poderá recuperar todos os comandos executados contendo a letra ''v''. Quando encontrar o comando desejado, pressione [a tecla ENTER] para executá-lo. A pesquisa poderá ser tão explícita quanto você quiser. Imagine que você está procurando um comando mpstat executado anteriormente. Para encontrá-lo, basta digitar esta string de pesquisa ''mpstat'':
# [Escape Key][/ key]mpstat[ENTER Key]
Suponha que o comando acima mostra mpstat 5 5 e, na verdade, você quer executar o comando mpstat 10 10. Em vez de digitar a string novamente, você pode editar o comando em vi. Para tanto, pressione [a tela Esc] e a tecla [v], e o comando aparecerá no editor vi. Agora você poderá editar o comando como quiser. Quando salvá-lo no vi digitando :wq, o comando modificado será executado.
Nenhum comentário:
Postar um comentário