URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8854
[ Назад ]

Исходное сообщение
"Вывод работы скрипта, вместе с командами, в файл и на экран"

Отправлено irman , 12-Сен-10 18:43 
Здравствуйте форумчане. У меня такой вопрос

Как превратиить скрипт который выполняет простые действия типа

#/bin/sh
cp /some/file /somefile
chmod ....
touch ....
tar ....


в скрипт который при запуске

1) выводит и команды и вывод (саму работу скрипта) на экран
2) Записывает и команды из скрипта и вывод в файл

Или другими словами хочу получить возможность видеть работу скрипта вместе с командами на экране
Получить полный лог работы скрипта с командами в файл

Я понимаю, что это решается парой строчек со скобками сверху скрипта и парой строчек снизу. Но какими, я не знаю. Вся  надежда на вас.


Содержание

Сообщения в этом обсуждении
"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено redd , 12-Сен-10 19:42 
Как вариант echo использовать.

В винде echo on ))))


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено irman , 12-Сен-10 19:52 
>Как вариант echo использовать.
>
>В винде echo on ))))

Пробовал я это echo + tee. Строка заметно удлиняется и так писать для каждой строки неправильно. Я хочу пару строк сверху, весь скрипт, нетрогая его самого в блок, и пару строк снизу


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено Xaionaro , 12-Сен-10 20:05 
То, что вы просите, очень напоминает действие флага "-x" для sh и bash.

Вы можете вручную запустить интерпретатор с флагом -x, либо добавить его в первую строку вашего примера.

А перенаправить в файл можно с помощью ">". Или я неправильно понял чего вы хотите? :)


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено pavlinux , 13-Сен-10 01:29 
>То, что вы просите, очень напоминает действие флага "-x" для sh и
>bash.
>Вы можете вручную запустить интерпретатор с флагом -x, либо добавить его в
>первую строку вашего примера.
>А перенаправить в файл можно с помощью ">". Или я неправильно понял чего вы хотите? :)

А одновременно можешь, и на экран и в файл?


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено Xaionaro , 13-Сен-10 07:45 
>>То, что вы просите, очень напоминает действие флага "-x" для sh и
>>bash.
>>Вы можете вручную запустить интерпретатор с флагом -x, либо добавить его в
>>первую строку вашего примера.
>>А перенаправить в файл можно с помощью ">". Или я неправильно понял чего вы хотите? :)
>
>А одновременно можешь, и на экран и в файл?

Мм, не знаю решается ли это каким-то изощрёнными флагами, но хоть мне такое ниразу не требовалось, я бы тупо сделал что-то вроде:
bash -x ./test.sh 2>&1 | tee log


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено pavlinux , 13-Сен-10 01:28 
>[оверквотинг удален]
>1) выводит и команды и вывод (саму работу скрипта) на экран
>2) Записывает и команды из скрипта и вывод в файл
>
>Или другими словами хочу получить возможность видеть работу скрипта вместе с командами
>на экране
>Получить полный лог работы скрипта с командами в файл
>
>Я понимаю, что это решается парой строчек со скобками сверху скрипта и
>парой строчек снизу. Но какими, я не знаю. Вся  надежда
>на вас.

У студентов уже начались семинары?! :)

---
#!/bin/sh -x
echo 'Hello World!'

выведется как

+ echo 'Hello World!'
Hello World!

Во, выше уже написали...


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено Xaionaro , 13-Сен-10 07:52 
Хоть то и offtop, но сейчас обучение работе с sh проводится даже на гуманитарном факультете МИФИ :)

Хотя с другой стороны, на физических факультетах такого курса нет, что вообще странно, т.к. физикам умение работать с unix-подобными системами очень даже нужно, в отличие от студентов гуманитарного факультета.


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено dromermail.ru , 13-Сен-10 08:40 
>Хоть то и offtop, но сейчас обучение работе с sh проводится даже
>на гуманитарном факультете МИФИ :)
>
>Хотя с другой стороны, на физических факультетах такого курса нет, что вообще
>странно, т.к. физикам умение работать с unix-подобными системами очень даже нужно,
>в отличие от студентов гуманитарного факультета.

Не, я не студент. Делаю это для большей интеракции в ks.cfg  Хочу знать, что он у меня делает при установке, у меня ведь в нем есть и скачивание с сайта и я хочу знать, если скрипт споткнулся, то где. Спасибо, вечером попробую


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено pavlinux , 13-Сен-10 12:20 
> Хочу знать,

http://www.tldp.org/LDP/abs/html/io-redirection.html

да и вообще, http://www.tldp.org/LDP/abs/html

----

Немного старое, но вполне актуально http://www.opennet.me/docs/RUS/bash_scripting_guide


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено anonymous , 16-Сен-10 00:17 
>Я понимаю, что это решается парой строчек со скобками сверху скрипта и
>парой строчек снизу. Но какими, я не знаю. Вся  надежда
>на вас.

команда script должна помочь.  и set -x


"Вывод работы скрипта, вместе с командами, в файл и на экран"
Отправлено ilrandir , 21-Мрт-11 21:58 
./script.sh 2>&1 | tee 123.log