Gostaria de redirecionar o comando executado junto com a saída para um arquivo.
por exemplo: #ls >ls_out.txt
ls_out.txt deve ser algo como:
eu
arquivo1 fil2
Obrigado!
Responder1
Você poderia usar o comando "script": algo assim:
localhost:test_sf user1$ ls
file1 file2 file3
localhost:test_sf user1$ script ls_out.txt #starting script command ls_out.txt will contain output
Script started, output file is ls_out.txt
bash-3.2$ ls
file1 file2 file3 ls_out.txt
bash-3.2$ exit
exit
Script done, output file is ls_out.txt
===================================================================================
localhost:test_sf user1$ cat ls_out.txt #verify the contents now.
Script started on Wed Dec 18 12:05:23 2013
bash-3.2$ ls
file1 file2 file3 ls_out.txt
bash-3.2$ exit
exit
Você apenas terá que se livrar da peça "bash-3.2$ exit exit".
Responder2
Eu uso uma função para esse tipo de coisa:
echocmd() {
echo "$@"
"$@"
}
Então
$ echocmd ls -ltr > ls_out.txt