я пытаюсь сохранить эхо команды в лог-файл:тройник - если файл не существует, ничего не делать
echo "XXXXX" | tee -a ./directory_with_logs/my_script.log
Это хорошо работает, когда файл my_script.log существует
XXXXX
(XXXXX была написана к my_script.log также)
Когда my_script.log не существует, я получил что-то вроде этого
tee: ./directory_with_logs/my_script.log: No such file or directory
XXXXX
Я попробовал, если еще процедура проверки, если существуют файлы, а затем записать в журнал
function saveLog(){
if [[ -e "./directory_with_logs/my_script.log" ]] ; then
tee -a ./directory_with_logs/my_script.log
fi ; }
echo "XXXXX" | saveLog
но работает неправильно и, когда файл не существует, то ничего не происходит в XTerm, не эхо команды
Как печатать в xterm и записывать в файл журнала echo команду,
или печатать только в xterm, если файл журнала не существует?
Пожалуйста, помогите :)
Есть вопросы о том, что файл * * не существует или что * каталог * нет? Потому что это не одно и то же. 'tee' должен создать файл просто отлично, но он не будет создавать каталог. –
Вот и все. Также используется [команда tee для перенаправления вывода в файл в несуществующем каталоге] (http://stackoverflow.com/q/14236621/1983854). – fedorqui
Кроме того, что не так, просто делая 'echo" XXXXXX ">>./Directory_with_logs/my_script.log' ??? Зачем вообще вызывать 'tee'? – twalberg