LINUX.ORG.RU

Сообщения Dima85

 

Bash чат - опасные символы

Есть скрипт который записывает в файл данные от клиентов. Я боюсь что туда могут попасть спец символы, с помощью которых можно навредить моему серверу.

Скрипт:

#!/bin/bash
echo "Please enter your name:"; read USER
tail -n 0 -f chat.log --pid=$$ | grep --line-buffered -v "] ${USER}>" &
while read MSG; do echo "[$(date)] ${USER}> ${MSG}" >> chat.log; done

Меня беспокоит ${MSG} нужно фильтровать данные в ней? Очень надеюсь на помощь.

 

Dima85
()

bash и mysql

DB_USER='test';
DB_PASSWD='pass';
DB_NAME='mu_site';

count=$(mysql -h localhost -u$DB_USER -p$DB_PASSWD -D$DB_NAME -sse "select online from TABLE where client=8620;")
if [ $count -gt 0 ]
then
     echo "1"
else
     echo "0"
fi

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'TABLE where client=8620' at line 1 ./mysql.sh: line 34: [: -gt: unary operator expected 0

Подскажите что я делаю не так? Нужно сделать условие если в базе есть client который равен 8620 вывести «1»

 , ,

Dima85
()

Помогите разобрать bash скринт

echo "Your name:"; read USER
echo "[$(date)] ${USER}" >> test.log
echo "[$(date)] Work ${USER}!"
tail -n 0 -f test.log --pid=$$ | grep --line-buffered -v "] ${USER}>" &
while read MSG; do echo "[$(date)] ${USER}> ${MSG}" >> test.log; done

По строчкам,

1: Выводим в консоли «Your name:» и спрашиваем имя

2: Записываем в файл test.log текущею дату и введенное имя

3: Выводим в консоли Дату, слово"Work" и введенное имя.

4: Вот тут я не понимаю. Открываем test.log смотрим в нем последнею строчку а что еще делаем?

 , ,

Dima85
()

git как вывести хеш пред последнего коммита.

Не совсем о linux, но я не знаю у кого еще спросить Вот так я вывожу 2 своих последних шех коммита:

git log --pretty=format:%h --author=dima85|tail -2

Как можно вывести в таком же формате только 1 и пред последний коммит? Спасибо.

 

Dima85
()

Поиск и изменения текста в нутри файлов.

Я часто пользуюсь такой командой, которая позволяет открывать все html файлы, найти там нужный текст и изменить его:

find /var/www -type f -iname '*.html' -exec sed -i -e 's|Ищем текст|Заменяем на|g' '{}' \;

Сейчас задача немного усложнилась. Я имею дату, такого формата.: «start»:«04.09.2017 09:55:03»

Мне нужно поменять местами дату, месяц, и год, то есть должно получится так: «start»:«2017.09.04 09:55:03»

Искать нужно по такой маске «start»:«*.*.* 09:55:03» т.к. в файлах есть схожие данные

Подскажите пожулйста как это сделать.

 

Dima85
()

DRI_PRIME=1 и firefox

home@home-HP-ProBook-450-G1:~$ DRI_PRIME=0 glxinfo |grep OpenGL  
OpenGL vendor string: Intel Open Source Technology Center  
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile   
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3  
OpenGL core profile shading language version string: 3.30  
OpenGL core profile context flags: (none)  
OpenGL core profile profile mask: core profile  
OpenGL core profile extensions:  
OpenGL version string: 3.0 Mesa 10.1.3  
OpenGL shading language version string: 1.30  
OpenGL context flags: (none)  
OpenGL extensions:  
home@home-HP-ProBook-450-G1:~$ DRI_PRIME=1 glxinfo |grep OpenGL  
OpenGL vendor string: X.Org  
OpenGL renderer string: Gallium 0.4 on AMD OLAND  
OpenGL core profile version string: 3.1 (Core Profile) Mesa 10.1.3  
OpenGL core profile shading language version string: 1.40  
OpenGL core profile context flags: (none)  
OpenGL core profile extensions:  
OpenGL version string: 3.0 Mesa 10.1.3  
OpenGL shading language version string: 1.30  
OpenGL context flags: (none)  
OpenGL extensions:

Запускаю firefox вот так:

home@home-HP-ProBook-450-G1:~$ DRI_PRIME=1 firefox &

Захожу на youtube запускаю 4k video. AMD Не греется. Первое что пришло в голову видео идет через flash а это наверное другой процесс который запускается с встроенной видео карточки.

Запустил хром.

home@home-HP-ProBook-450-G1:~$ DRI_PRIME=1 chromium-browser &

В нем youtube видео идет через html5. Но градусы в AMD опять же не растут. Подскажите что я делают не так?

И второй вопрос. Есть возможность в GRUB2 добавить запись которая Linux заставит работать только с AMD. Т.к. у меня часто ноутбук работает от розетки, и вторая видео карточка значительно мощнее встроенной.

 

Dima85
()

RSS подписка на новые темы