Я хочу перенаправить команду, выполняемую вместе с выводом, в файл.
например: #ls> ls_out.txt
ls_out.txt должен выглядеть примерно так:
ls
file1 fil2
Спасибо!
Я использую функцию для такого рода вещей:
echocmd() {
echo "$@"
"$@"
}
затем
$ echocmd ls -ltr > ls_out.txt
Вы можете использовать команду "скрипт": Примерно так:
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
Вам просто нужно избавиться от части "bash-3.2 $ exit exit".