Для сейфа необходимо посмотреть на сгенерированный, если код может быть введен.
В этой команде mysql -B -ss -uuser -ppassword -e "USE table; SELECT column FROM table WHERE pid='$i';"
, Вы знаете, что я - число между 1 и 5, таким образом, оно в порядке.
Но в той команде mysql -B -ss -uuser -ppassword -e "USE table; UPDATE table SET column = '${line:6}' WHERE pid = '$i';"
, Вы не можете быть уверены в $ {line:6}; можно предположить, что это содержит одинарную кавычку, в этом случае необходимо заменить двумя одинарными кавычками, можно также проверить, что длина является меньше, чем длина столбца в базе данных (давайте предположим здесь 255), или усеките данные, прежде, чем заменить кавычки.
#!/bin/bash
for (( i=1; i <= 5; i++))
do
DBQUERY=`mysql -B -ss -uuser -ppassword -e "USE table; SELECT column FROM table WHERE pid='$i';"`
if [[ $DBQUERY == *.pls ]] ;
then
wget -O tempfile.pls $DBQUERY
while read line
do
if [[ $line == File1=* ]] ;
then
str=${line:6:255}
str=${str//\'/''}
mysql -B -ss -uuser -ppassword -e "USE table; UPDATE table SET column = '$str' WHERE pid = '$i';"
fi
done <tempfile.pls
fi
done
Либо Вы можете включить клавишу Составьте , либо Вы можете нажать CtrlShiftU, за которым последует шестнадцатеричный номер символа в уникоде (ведущие нули могут быть пропущены). Например, Æ - это CtrlShiftU, затем C6. Это работает на GNOME Terminal, Terminator, Google Chrome и ряде других приложений, при этом Xterm (и, согласно комментариям, Emacs) не работает.
В GNOME, чтобы включить Составьте , перейдите к настройкам клавиатуры, затем Ярлыки быстрого доступа → Ввод → Клавиша альтернативных символов и сопоставьте ее с чем-нибудь (скажем, Правый Alt). Затем нажмите клавишу Compose, и - трижды, чтобы получить em-dash: -. (Стрелки в этом параграфе все Compose->).
Лучше всего набирать символ на клавиатуре. Благодаря XKB вы можете связывать произвольные символы Unicode с комбинациями клавиш. Например, с пользовательской настройкой XKB я могу набирать напрямую: ← → ↑ ↓… € ½ «» - - ± ≠ ∩ ∪ ⊂ ∧ ∨ ∀ √ ∞ ≤ ≥ и т. Д.
Примечание : в конкретном случае GNU Emacs композиция Unicode может быть выполнена с помощью Ctrl x + 8 + Return . См. Ctrl x + 8 + Ctrl h для дополнительных методов.
«Ввод Unicode» в Википедии предоставляет информацию о вводе Unicode ISO 14755 в зависимости от контекста, в частности, для X11 с некоторыми наборами инструментов и для конкретных приложений (Emacs, Opera, Vim).
В качестве альтернативы можно использовать клавишу Составить с пользовательскими настройками (так как настройки по умолчанию еще далеки от завершения). Документация представлена на странице руководства Compose (5)
. Например, напишите файл $ HOME /.XCompose
, содержащий:
include "%L"
<Multi_key> <bracketleft> <c> : "⌈" U2308 # LEFT CEILING
<Multi_key> <bracketright> <c> : "⌉" U2309 # RIGHT CEILING
<Multi_key> <bracketleft> <f> : "⌊" U230A # LEFT FLOOR
<Multi_key> <bracketright> <f> : "⌋" U230B # RIGHT FLOOR
Строка include "% L"
сначала загружает файл Compose по умолчанию (зависящий от локали), а следующие четыре строки добавляют пользовательские настройки, например: Compose + [ + c дает символ левого потолка «⌈» (U + 2308).
Como se describe en detalle en esta publicación , hay una excelente manera de agregar claves Unicode sin tener que recordar combinaciones de teclas incómodas o usar menús desplegables.
Todo se reduce a usar Autokey , que puede tomar cualquier conjunto de pulsaciones de teclas como disparador para ejecutar un script o pegar una frase. En este caso, su frase es simplemente el carácter Unicode que desea.
Como se describe en la publicación, una buena manera de hacerlo es seguir a LaTeX, pero con una barra diagonal en lugar de una barra diagonal inversa. Por ejemplo, escribir /delta en cualquier lugar (navegador, oficina libre, etc. )se convertirá automáticamente en δ.