Я сделал сценарий удара, который может tree
целая структура каталогов рекурсивно, помещая в каждый каталог файл HTML, сгенерированный aha
. Сценарий прочитал список каталогов, которые будут индексированы. find
ищите каждый каталог в каталоге и генерируйте полный список каталогов. Если каталог /media/veracrypt1
содержит 50 каталогов в иерархической структуре, tree
делает дерево из всего в данном каталоге и "ниже", запишите файл HTML с зарегистрированной древовидной структурой в каталоге, затем спуститесь, повторите действие вниз к нижней части.
Я хотел бы, чтобы сценарий был запущен в определенное время cron
. Работы сценария, но колоризация не делают и вывод канала является черным на белом. Я полагаю, что это - результат cron
не имея доступ к LS_COLOR
системная переменная. (Это - то, что я подозреваю),
Как исправить сценарий, чтобы заставить его произвести желаемый эффект?
Жизненный фрагмент сценария:
tree -axC "$file" | aha --title $(basename "${file// /_}") > "$file"/[z9][tree]_$(basename "${file// /_}").html; done
Это работает также без aha
:
tree -axC "$file" > "$file"/[z9][tree]_$(basename "${file// /_}").html; done
но та же проблема с колоризацией (только в кроне) содержит.
Текст полного сценария:
#!/bin/bash
List_make_R_general=/track/to/location_1.txt
List_R_gen_general=/track/to/location_2.txt
cron_log=/track/to/location_3.txt
echo > $cron_log
cat "$List_make_R_general" | while read file; do find "$file" -type d; done | tee "$List_R_gen_general"
cat "$List_R_gen_general" | while read file; do tree -axC "$file" | aha --title $(basename "${file// /_}") > "$file"/[z9][tree]_$(basename "${file// /_}").html; done
cat "$List_R_gen_general" | while read file; do tree -axC "$file" -I "*.JPG" | aha --title $(basename "${file// /_}") > "$file"/[z9][tree]_$(basename "${file// /_}")_[excl].html; done
echo -e "Tree done successfully: $(date) \n" >> $cron_log
exit
Я работал в подобной проблеме с htop
в последнее время необходимо установить TERM=xterm
в Вашем сценарии:
#!/bin/bash
export TERM=xterm
…
Вместо использования export
можно также установить переменную для каждого tree
вызов непосредственно:
…; do TERM=xterm tree -axC …
TERM
переменная говорит tree
какой тип терминала Вы используете. Какие вопросы probably1 в этом случае текстовая возможность окна отображающегося цвета: xterm
создается с 8 цветами в то время как, например. xterm-256color
– Вы предположили, что это – создается с 256 цветами. Можно получить список возможных значений для системы с ls -1 /lib/terminfo/x
и просмотрите и сравните их возможности с infocmp
, например.
infocmp xterm # view capabilities
infocmp xterm xterm-256color # compare
infocmp xterm xterm-256color | grep colors # compare only colors
1, Как отмечено в комментариях tree
на самом деле просто тесты для TERM
быть установленным на что-либо вообще, таким образом, TERM=my_precious tree
работы также. При предоставлении ему допустимое значение кажется хорошей идеей все же.
Дальнейшее чтение: