Для каждого шаблона Вы вызываете новый экземпляр sqlite
программа, которая соединяется с базой данных снова. Это - отходы. Необходимо создать единый запрос, который ищет любой из ключей, затем выполните тот один запрос. Клиенты базы данных способны выполнять выполнение больших запросов.
Если согласующие отрезки длинной линии в keys
файл только содержит цифры, затем можно создать запрос следующим образом:
{
echo 'select id from main where id in (';
Для более общих входных данных Вы получаете идею: используйте текстовые преобразования для создания единственного выполнения больших запросов. Старайтесь проверить свой вход; здесь мы удостоверяемся, что то, что введено в запрос, синтаксически допустимо. Существует на самом деле угловой случай в примере выше: если там не идет ни в какое сравнение в файле, то синтаксис SQL недопустим; если это могло бы произойти, необходимо будет рассматривать этот случай особенно. Вот более сложный код, который заботится о пустом ящике:
Простой и эффективный способ проверить, что ваш дисплейный сервер доступен и действителен, - это протестировать его с помощью xhost
. Вы не всегда можете полагаться на проверку значения в переменной DISPLAY
, поскольку оно может быть установлено с недопустимым значением.
if xhost >& /dev/null ; then echo "Display exists"
else echo "Display invalid" ; fi
Причина, по которой я это делаю, заключается в том, что я запускаю несколько сценариев в моем пользовательском crontab
, которые работают с дисплеем, когда он существует, но работают по-другому, когда нет. В верхней части моего crontab
я установил для переменной DISPLAY
значение : 0
, хотя она еще не существует. Скрипты в crontab
, которые начинаются с @reboot
, будут запускаться независимо от того, есть у вас дисплей или нет. Это позволит вам динамически определять, когда ваш дисплей приходит и уходит в рамках одного и того же скрипта.
ПРИМЕЧАНИЕ: > &
работает только в bash
> = 4. В противном случае используйте > / dev / null 2> & 1
Я думаю, проверяя DISPLAY
был бы лучший подход.
DISPLAY
, или просто подавите сообщение об ошибке в целом. Дать /dev/null
некоторая любовь время от времени.
– frostschutz
12.04.2013, 02:06
ssh
s до сих пор, когда я начал делать ssh -X
---смочь использовать Vim по ssh так, чтобы содержание, выбранное визуальным режимом, получило к локальному X буферов обмена, для которых Вам не нужен xserver на стороне сервера. Таким образом, ДИСПЛЕЙ установлен так же, как эффект простого включения передачи, даже если xserver и xset не присутствуют.
– Alois Mahdal
11.07.2013, 02:45
Я обычно использую TERM
переменная для тестирования на X в моих сценариях.
TERM
обычно устанавливается на linux
на TTY и xterm
на X.
Я использую слово "обычно" здесь, так как приложения как Экран GNU и TMux, кажется, смешивают с TERM
Переменная.
echo $TERM
узнать richt, устанавливающий на Вашей машине в различных консолях. Я использую [ $TERM == "linux" ] && echo do some stuff
на Ubuntu
– rubo77
01.09.2015, 09:17
Это должно работать отлично:
[ ! -t 0 ] && xset b off
http://tldp.org/LDP/abs/html/fto.html
-t
file (descriptor) is associated with a terminal device
This test option may be used to check whether the stdin [ -t 0 ]
or stdout [ -t 1 ] in a given script is a terminal.
Так, когда это оценивает ко лжи ([ ! -t 0 ]
) мы находимся в среде GUI.
[ -t 0 ]
и [ -t 1 ]
оба верны.
– Emanuel Berg
15.04.2013, 01:09
[ -t 0 ]
хорошо работает на консоли в Ubuntu (использующий CTRL ALT F1) попытка
– rubo77
01.09.2015, 09:15
Существует много способов, которыми Вы могли сделать это.
В ударе попробовать
function xruns {
if [[ `pstree -As $$ | grep xinit | wc -l` == 1 ]]; then
echo "You are in X."
else
echo "You are not in X."
fi
}
Или в zsh попробовать
#!/usr/bin/zsh
CURRENT_VT=`tty`
if [[ ${CURRENT_VT[6]} == "p" ]]; # or `${CURRENT_VT:5:1}` in bash
then
# X stuff
else
# non-X stuff
fi
echo 1
если X работает, и Вы регистрируетесь на пути tty1-6 или ssh. Другой всегда делает "non-X, наполняют" - я думаю это ${CURRENT_VT[6]}
означает довольно 6-ю строку, чем 6-й символ.
– Alois Mahdal
14.04.2013, 19:22
zsh
) и возможно сделайте некоторые модификации, если Вам нравится он, чтобы заставить его работать в ударе.
– Emanuel Berg
14.04.2013, 19:28
.zshrc
и поиск export VT
. Я использую переменную для содержания то, в чем Linux VT/console/tty я нахожусь (для подсказки zsh), но в X, я просто установил его на "X" (хотя не VT). Но это - детали, Вы могли работать он любой способ, которым Вы хотели бы в ударе с помощью того же принципа.
– Emanuel Berg
14.04.2013, 19:59