Пожалуйста, проверьте, правильно ли вы предоставили JS ссылки. Сначала файлы JQuery, а затем ваши пользовательские файлы. Так как вы используете '$' в своих методах js.
См. Этот предыдущий вопрос SO , который касается bash. Tcsh обеспечивает ту же функциональность с filetest -t 1
, чтобы проверить, является ли стандартный вывод терминалом. Если это так, то распечатайте цветной материал, иначе оставьте его. Вот tcsh:
#!/bin/tcsh
if ( -t 1 ) then
printf "\033[31m Success Color is awesome!\033[0m"
else
printf "Plain Text is awesome!"
endif
Внутри сценария оболочки bourne (sh, basket, ksh, ...) вы можете передать стандартный вывод в программу tty
(стандартная в Unix), которая сообщает независимо от того, является ли его ввод терминалом или нет, с помощью флага -s
.
Введите в «check-tty» следующее:
#! /bin/sh
if tty -s <&1; then
echo "Output is a tty"
else
echo "Output is not a tty"
fi
И попробуйте:
% ./check-tty
Output is a tty
% ./check-tty | cat
Output is not a tty
Я не используйте tcsh
, но должен быть способ перенаправить ваш стандартный вывод на стандартный ввод tty
. Если нет, используйте
sh -c "tty -s <&1"
в качестве тестовой команды в сценарии tcsh
, проверьте его статус выхода, и все готово.
Обнаружение типа выходного потока рассматривается в вопросе определить, выполняется ли сценарий оболочки через конвейер .
Решив, что вы разговариваете с терминалом, тогда вы можете использовать tput
для получения правильных escape-кодов для конкретного терминала, который вы используете - это сделает код более переносимым.
Пример сценария (в bash
Боюсь, так как tcsh
не моя сильная сторона) приводится ниже.
#!/bin/bash
fg_red=
fg_green=
fg_yellow=
fg_blue=
fg_magenta=
fg_cyan=
fg_white=
bold=
reverse=
attr_end=
if [ -t 1 ]; then
fg_red=$(tput setaf 1)
fg_green=$(tput setaf 2)
fg_yellow=$(tput setaf 3)
fg_blue=$(tput setaf 4)
fg_magenta=$(tput setaf 5)
fg_cyan=$(tput setaf 6)
fg_white=$(tput setaf 7)
bold=$(tput bold)
reverse=$(tput rev)
underline=$(tput smul)
attr_end=$(tput sgr0)
fi
echo "This is ${fg_red}red${attr_end}"
echo "This is ${fg_green}green${attr_end}"
echo "This is ${fg_yellow}yellow${attr_end}"
echo "This is ${fg_blue}blue${attr_end}"
echo "This is ${fg_magenta}magenta${attr_end}"
echo "This is ${fg_cyan}cyan${attr_end}"
echo "This is ${fg_white}white${attr_end}"
echo "This is ${bold}bold${attr_end}"
echo "This is ${reverse}reverse${attr_end}"
echo "This is ${underline}underline${attr_end}"
Для получения дополнительной информации см. " man tput
"
Насколько мне известно, нет способа определить конечный пункт назначения вывода вашего сценария оболочки; единственное, что вы можете сделать, это установить переключатель, который позволяет подавлять управляющие символы в выводе.