Текущее время: 19 дек 2018, 08:31

Сообщения без ответов | Активные темы Непрочитанные сообщения | Новые сообщения | Ваши сообщения





 Страница 1 из 1 [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Линуксоводы оценят ^_^
СообщениеДобавлено: 11 сен 2012, 02:57 
Полноправный пользователь
Аватара пользователя

Зарегистрирован: 09 сен 2012, 21:35
Сообщения: 114
Откуда: chelyabinsk
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
собственно, начинаю творить добро :3
VKsearch&Play Bash Script by, естественно, me

Умеет:
1) Качать музыку с вконтакта (не заходя туда вообще)
2) Играть её оттудаже (с тем же условием)
3) Искать вк треки, похожие на выбранный (юзает ластфм)
4) Грабить корованы^W^W уже не умеет
5) Подрабатывать будильником
6) Очередь воспроизведения
в общем обычный такой вкплеер, только без использования браузера и вк вообще -_-

Зависимости:
export MODULE_DPDC="mplayer sed awk grep wget ps"

Выглядит примерно так:


Стандартный хелп :3

Цитата:
Запуск: /usr/bin/vk 'запрос' (при наличии пробелов и спецсимволов в запросе кавычки обязательны)
Внутренние команды:
p <номер> -- воспроизведение песни с указанным порядковым номером
d <номер> -- скачивание песни с указанным порядковым номером
k <номер> -- прервать воспроизведение песни с указанным порядковым номером
k -- завершить _все_ процессы mplayer
t <номер> -- показать текст выбранной песни (если есть)
l -- повторно вывести результаты последнего поиска
r -- воспроизвести случайную песню из найденных
s 'запрос' -- повторно провести поиск с новым запросом (при наличии пробелов и спецсимволов в запросе кавычки обязательны)
h -- показать список команд
h all -- показать эту справку
pa N[h/m/s] -- будильник, отправляющий спать на N[часов/минут/секунд], напр. pa 4h -- продолжит выполнение через 4 часа. рекомендуется использовать в комбинации с другой командой, т.е. pa 4h-p 1 или pa 4h-r , etc
o <количество> -- указать количество показываемых результатов поиска
+f/-f -- включить/отключить режим принудительного повтора. [ВНИМАНИE]: это может быть опасно с командами 'd','l','h','t'
m <номер> -- найти исполнителей, схожих с исполнителем песни с указанным номером
+q/-q -- включить/отключить режим воспроизведения очереди. [ВНИМАНИЕ]: в режиме воспроизведения очереди недоступны мультикоманды, а также переход в режим force forever
qa <номер или выражение> -- добавить треки в очередь. введите qh для вывода подробной информации
qd <номер пункта очереди> -- удалить выбранный пункт очереди
qc -- очистить очередь
ql -- вывести текущее состояние очереди на экран
. -- повтор предыдущей команды
sf <0/1> -- показывать песни, отфильтрованные как дубликаты
lms -- команда для отладки, которой не нужно пользоваться


скрипт под хайдом
#!/bin/bash

#-------------- Module Identification Data -------------#
export MODULE_AKEY="b8d5d6eca9ef30427712f2f0151334a2"
export MODULE_AUTH=""
export MODULE_IVSR="zodhana_outland_e"
export MODULE_NAME="VK"
export MODULE_VERS="-0.94"
export MODULE_DATE="06.IX.2011"
export MODULE_DESC="Поиск музыки ВКонтакте"
export MODULE_URII="http://ftemp.net/static/vksearch";
export MODULE_DPDC="mplayer sed awk grep wget ps"
export MODULE_CPID="$$"
export MODULE_FILE="$0"
#-------------- Module Identification Ends -------------#


SETTINGsimilarartcount=10 #кол-во артистов в поиске похожих
SETTINGsimilartrcount=5 #кол-во песен каждого артиста в поиске похожих

id="5807425" # системная переменная. Взято из VK_Search Amarok Script (c) Взято из vksearch by snoopcatt script
d_method='audio.search' # метод поиска музыки ВКонтакте. by default. Взято из vksearch by snoopcatt script
secret='dTckAoaSzH' # системная переменная. Секретный код приложения. Взято из VK_Search Amarok Script (c) Взято из vksearch by snoopcatt script
d_query="$*"
#show_filtered=0 # лол фильтрованные #лол хуёвые у тебя фильтрованные, сматри как нада
cat $HOME/.vk_filter &>/dev/null || echo "Настройки фильтра неизвестны, используйте sf" && show_filtered=0
source $HOME/.vk_filter 2>/dev/null

save_last=1 # лол последнее (типа плейлист)
vr=$$
ifs_backup=$IFS
help='Возможные действия: p(проиграть) d(скачать) t(печатать текст) e(выход) l(напомнить список) k(убить mplayer) r(случайное) h(помощь) h all(расширенная помощь) s(новый поиск) +f/-f(включить/отключить режим повтора) m(найти похожие), qa(добавить в очередь), qd(удалить из очереди), ql(просмотреть очередь), qc(очистить очередь), +q/-q(включить/отключить проигрывание очереди), qh(подробнее о режиме очереди), sf(настройки фильтра)'

# -- Кнопкины общаются --
if [ "$1" = "-next" ]; then
is_pid=$(cat /tmp/vk.pid)
kill -12 $is_pid
echo -e "\e[0;31m[$(date +%H:%M:%S)]: Процессу $is_pid приказано немедленно завершить воспроизведение текущего трека.\e[0;37m"
kill -9 $$
fi
# -- --


if [ -z "$*" ] ;then
#echo "Не указан запрос для поиска"
#echo "Введите '$0 запрос' для поиска данных или $0 --help для получения расширенной помощи"
#kill -11 $$
#fi
[ -f /tmp/last_query ] && d_query="$( cat /tmp/last_query )"
fi
me_man()
{
echo "Запуск: $0 'запрос' (при наличии пробелов и спецсимволов в запросе кавычки обязательны)"
echo "Внутренние команды:"
echo "p <номер> -- воспроизведение песни с указанным порядковым номером"
echo "d <номер> -- скачивание песни с указанным порядковым номером"
echo "k <номер> -- прервать воспроизведение песни с указанным порядковым номером"
echo "k -- завершить _все_ процессы mplayer"
echo "t <номер> -- показать текст выбранной песни (если есть)"
echo "l -- повторно вывести результаты последнего поиска"
echo "r -- воспроизвести случайную песню из найденных"
echo "s 'запрос' -- повторно провести поиск с новым запросом (при наличии пробелов и спецсимволов в запросе кавычки обязательны)"
echo "h -- показать список команд"
echo "h all -- показать эту справку"
echo "pa N[h/m/s] -- будильник, отправляющий спать на N[часов/минут/секунд], напр. pa 4h -- продолжит выполнение через 4 часа. рекомендуется использовать в комбинации с другой командой, т.е. pa 4h-p 1 или pa 4h-r , etc"
echo "o <количество> -- указать количество показываемых результатов поиска"
echo "+f/-f -- включить/отключить режим принудительного повтора. [ВНИМАНИE]: это может быть опасно с командами 'd','l','h','t'"
echo "m <номер> -- найти исполнителей, схожих с исполнителем песни с указанным номером"
echo "+q/-q -- включить/отключить режим воспроизведения очереди. [ВНИМАНИЕ]: в режиме воспроизведения очереди недоступны мультикоманды, а также переход в режим force forever"
echo "qa <номер или выражение> -- добавить треки в очередь. введите qh для вывода подробной информации"
echo "qd <номер пункта очереди> -- удалить выбранный пункт очереди"
echo "qc -- очистить очередь"
echo "ql -- вывести текущее состояние очереди на экран"
echo ". -- повтор предыдущей команды"
echo "sf <0/1> -- показывать песни, отфильтрованные как дубликаты"
echo "lms -- команда для отладки, которой не нужно пользоваться"
}
if [ "$1" = "--help" ]; then

me_man
exit 0
fi
qhelp(){
echo "Добавление в очередь: "
echo "Возможны следующие варианты: "
echo "qa <номер> -- добавить трек в конец очереди (например, 'qa 5' добавляет 5-ю песню в конец очереди)"
echo "qa r -- добавить случайный трек в конец очереди"
echo "qa <НомерПервой>.<НомерПоследней> -- добавить песни от Первой до Последней в очередь (например, 'qa 3.7' добавляет песни 3,4,5,6,7 в конец очереди"
echo "qa <номер/r>x<количество> -- добавить песню <номер> в конец очереди Количество раз (например, 'qa 4x2' добавляет песню №4 в конец очереди два раза, 'qa rx3' добавляет 3 случайных песни в конец очереди"
echo "qa all -- добавить все песни в конец очереди. [ВНИМАНИЕ] Аргумент 'all' не допустим для перечисления через запятую вместе с остальными"
echo ""
echo "Также, ввод"
echo "qa 4"
echo "qa 6"
echo "И ввод"
echo "qa 4,6"
echo "Абсолютно идентичны. Чтобы добавить несколько треков, идущих не-подряд, в очередь, просто разделите их запятыми. Также, допустим ввод"
echo "qa 4,6,1.3,rx2"
echo "Будут добавлены последовательно треки: 4,6,1,2,3,Случайный,Случайный"
echo "Недопустимо сочетание '.' и 'x' в одном аргументе"
echo "Недопустимо сочетание '.' и 'r' в одном аргументе"
echo "Например 'qa 1.10x2' -- недопустимо"
echo "Например 'qa r.7' -- недопустимо"
echo ""
echo "Также, вместо команды qa можно использовать просто q"
echo ""
echo ""
echo "Удаление из очереди: "
echo "Возможны следующие варианты: "
echo "qd <номерПунктаОчереди> -- удалить пункт №номерПунктаОчереди из очереди, сместив все нижестоящие элементы на позицию вверх"
echo "qd <номерПервогоПункта>,<номерПоследнегоПункта> -- удалить все элементы очереди от №номерПервого до №номерПоследнего, сместив все нижестоящие элементы на некоторое количество позиций вверх, равное суммарному количеству удалённых последним выполнением команды qd из очереди элементов"
echo ""
echo ""
echo "Листинг очереди: "
echo "ql -- вывести список всех элементов очереди в виде"
echo "<номерПунктаОчереди Команда>"
echo ""
echo ""
echo "Очистка очереди: "
echo "Команда 'qc' очищает очередь, удаляя из неё абсолютно все элементы. Удаленная очередь восстановлению не подлежит"
}

get_data(){ # Получение списка
method="$1"
count="$2"
query="$3"
if [ "$4" = "" ]; then
outfile="/tmp/vk$vr"
else
outfile="$4"
fi
#echo $1 / $2 / $3 / $4
#echo $outfile
sig=`echo -n "${id}api_id=1696393count=${count}method=${method}q=${query}test_mode=1v=2.0${secret}"|md5sum|awk '{ print $1 }'`
fields="aid artist title duration url lyrics_id"
wget "http://api.vkontakte.ru/api.php?api_id=1696393&count=${count}&v=2.0&method=${method}&sig=$sig&test_mode=1&q=$query" -qO "$outfile"
}
print_text(){
method="audio.getLyrics"
sig=`echo -n "${id}api_id=1696393lyrics_id=${1}method=${method}test_mode=1v=2.0${secret}"|md5sum|awk '{ print $1 }'`
wget "http://api.vkontakte.ru/api.php?api_id=1696393&v=2.0&method=${method}&sig=$sig&test_mode=1&lyrics_id=$1" -qO /tmp/vkl$vr
cat /tmp/vkl$vr | sed 's/<.*>//g' | grep -oE '^.*$'
}

fill_array(){
#echo $1
ctr=0
IFS=$'\n'
field=$1
#echo fillarray $2
if [ "$2" = "" ];
then filevr="/tmp/vk$vr";
else filevr="$2";
fi
for i in `cat "$filevr" | grep $field | sed "s/[</]\{1,2\}$field>//g" | sed 's/^[ \t]*//;s/[ \t]*$//'`; do
ctr=$[ctr+1];
fl="`echo "$i" | sed 's/&//g'| sed 's/;//g'`"
#echo "Ща будет eval $fileds [$ctr] = '$fl'"
eval $field[$ctr]=\'$fl\' 2>/dev/null;
done
# echo $ctr
IFS=$ifs_backup
}

get_similar() {
wget -qO - "http://ws.audioscrobbler.com/2.0/artist/$1/similar.txt" | awk -F "," '{print $3}' > /tmp/vksim$$
IFSA=$IFS
IFS=$'\n'
echo -ne "Обрабатываются схожие исполнители..\e[0;33m ["
for i in `cat /tmp/vksim$$ | head -n $SETTINGsimilarartcount`; do
IFS=$IFSA
get_data $d_method $SETTINGsimilartrcount "$i" /tmp/vksem$$
cat /tmp/vksem$$ >> /tmp/vktsem$$
echo -ne '#'
IFS=$'\n'
done
echo -ne "] \e[0m "
echo "Done."
IFS=$IFSA
fields="aid artist title duration url lyrics_id"
for i in $fields; do fill_array $i "/tmp/vktsem$$"; done
total=0
get_list
#echo $help
#echo 'Поиск завершён. Выберите действие и номер найденного трека:'
rm /tmp/vksim$$ /tmp/vksem$$ /tmp/vktsem$$
}

get_list () {
IFS=$ifs_backup
filtered=0
echo > /tmp/vkli$vr
echo > /tmp/vkdi$vr
for num in $(seq 1 $cnt); do
total=$num
if [ -z "${artist[$num]}" ] && [ -z "${title[$num]}" ]; then break; fi
if [ -z $( echo ${lyrics_id[$num]} | grep -oE '[0-9]*') ]; then TEXT='\e[1;31m[-]\e[0;37m'; else TEXT='\e[1;33m[+]\e[0;37m'; fi
clmr=${duration[$num]} #длительность
clmo=$((clmr%60)) #секунды длительности
if [ "$(echo -n $clmo | wc -m)" = "1" ]; then
clmo="0$clmo"
fi
onum=$(cat /tmp/vkli$vr | grep -n "${artist[$num]} - ${title[$num]}" | head -n 1)
# echo $onum
echo "${artist[$num]} - ${title[$num]}" >> /tmp/vkli$vr
if [ -z "$onum" ] ; then
filtered=$((filtered+1)) ;
echo -e "\e[0;35m$num. \e[1;37m${artist[$num]} - ${title[$num]} $TEXT \e[0;34m$((clmr/60)):$clmo\e[0;37m";
echo $num >> /tmp/vkdi$vr
else
[ $show_filtered -eq 1 ] && echo $num удалена как повтор записи $onum;
fi
done
echo '--- Найдено ' $cnt', из них отфильтровано '$((cnt-filtered))
}
get_pid_for_song() { #для убийства конкретного плеера
echo $(ps uax | grep "mplayer ${url[$1]}" | awk '{print $2}')
}

#--------------------------------------------

cnt=15 #количество by default
if [ -z "$(cat $HOME/.vk_set_count 2>/dev/null)" ]; then
echo 'Нет сохранённых настроек для списка. Принято решение использовать стандартные (limit: 15)'
else
cnt=$(cat $HOME/.vk_set_count)
fi
if [ -n "$d_query" ]; then
[ $save_last -eq 1 ] && echo "$d_query" > /tmp/last_query || rm -r /tmp/last_query 2>/dev/null
get_data $d_method $cnt "$d_query"
for i in $fields; do fill_array $i; done
total=0
get_list
fi
#echo $help
#echo 'Поиск завершён. Выберите действие и номер найденного трека:'
parse_input() { #выполняется при попадании параметра
userselect_d=$(echo $whatdo | awk '{print $1}')
userselect_n=$(echo $whatdo | awk '{print $2}')
userselect_d="$1"
userselect_n="$2"
[ -n "$( echo "$userselect_d" | grep -E '(s|pa|q)' )" ] || songinfo="#VK/${aid[$userselect_n]}: ${artist[$userselect_n]} - ${title[$userselect_n]}"
#echo $userselect_n
case $userselect_d in
p)
if [ -z $userselect_n ] ; then echo "Нечего петь. Введите номер после 'p'" ; else
if [ -z $(cat /tmp/vkdi$vr | awk '{print $1}' | grep -E "^${userselect_n}\$") ] ; then echo -e "\e[0;31m[$(date +%H:%M:%S)]: Пластинка $userselect_n проигнорирована \e[0m"; else
echo -e "\e[0;35m[$(date +%H:%M:%S)]\e[0;37m: Запевай пластинку \e[1;37m$songinfo\e[0;37m"
drrr=${duration[$userselect_n]} #длительность для forever'a
mplayer "${url[$userselect_n]}" &>/dev/null </dev/null &
P_PID=$(ps uax |grep "mplayer ${url[$userselect_n]}" | grep -v grep | awk '{print $2}')
fi
fi
;;
d)
if [ -z $userselect_n ] ; then echo "Нечего скачивать. Введите номер после 'd'" ; else
echo -e "Пластинка \e[1;37m$songinfo\e[0;37m будет сохранена в \e[1;37m$HOME/${aid[$userselect_n]}.mp3\e[0;37m"
wget -O "$HOME/${aid[$userselect_n]}.mp3" "${url[$userselect_n]}"
fi
;;
t)
test -z $userselect_n || print_text ${lyrics_id[$userselect_n]}
;;
e)
echo "Запевай пластинку 295: kill -9 $$"
rm -f /tmp/vkli$$ 2>/dev/null
rm -f /tmp/vkdi$$ 2>/dev/null
rm -f /tmp/vk$$ 2>/dev/null
rm -f /tmp/vk$$.queue 2>/dev/null && echo 'Очередь очищена перед выходом!'
rm -f /tmp/vksem$$ 2>/dev/null
kill -9 $$
;;
# v)
# alsamixer
# ;;
l)
get_list
;;
ql)
echo "Команды в очереди:"
cat -b /tmp/vk$$.queue 2>/dev/null|| echo 'Очередь не найдена'
;;
qc)
rm /tmp/vk$$.queue 2>/dev/null && echo "Очередь очищена"
;;
qa|q)
cn_prev=$(cat /tmp/vk$$.queue 2>/dev/null | wc -l)
if [ "$userselect_n" = "all" ]; then
userselect_all=$(seq 1 $cnt)
else
userselect_all="$(echo $userselect_n | sed 's/,/ /g')"
fi
for queue_data in $userselect_all; do
if [ -n "$(echo $queue_data | grep '\.')" ] ; then
lz_start="$(echo $queue_data | awk -F '.' ' { print $1 } ')"
lz_endop="$(echo $queue_data | awk -F '.' ' { print $2 } ')"
for i in $(seq $lz_start $lz_endop); do
echo p $i >> /tmp/vk$$.queue
done
else
if [ -n "$(echo $queue_data | grep 'x')" ] ; then
for zc in `seq 1 $(echo $queue_data | awk -F 'x' '{print $2}')` ; do
zr="$(echo $queue_data | awk -F 'x' '{print $1}')"
if [ "$zr" == "r" ]; then echo r >> /tmp/vk$$.queue; else echo p $zr >> /tmp/vk$$.queue; fi
done
else
if [ "$queue_data" == "r" ]; then echo r >> /tmp/vk$$.queue; else echo p $queue_data >> /tmp/vk$$.queue; fi
fi
fi
done
cn_post=$(cat /tmp/vk$$.queue 2>/dev/null | wc -l)
# echo "Команды в очереди:"
# cat -b /tmp/vk$$.queue 2>/dev/null || echo 'Очередь не найдена'
echo "Добавлено успешно $((cn_post-cn_prev)) элементов. Для просмотра очереди наберите ql"
;;
qd)
if [ -n "$userselect_n" ]; then
sed "${userselect_n}d" /tmp/vk$$.queue > /tmp/vk$$.queue.last
mv /tmp/vk$$.queue.last /tmp/vk$$.queue
fi
echo "Команды в очереди:"
cat -b /tmp/vk$$.queue 2>/dev/null || echo 'Очередь не найдена'
;;
qh)
qhelp
;;

sf)
case "$userselect_n" in
1)
show_filtered=1
echo Результаты работы фильтра отныне будут отображаться
echo show_filtered=1 > $HOME/.vk_filter
;;
0)
show_filtered=0
echo Результаты работы фильтра отныне не будут больше отображаться
echo show_filtered=0 > $HOME/.vk_filter
;;
*)
echo "0 или 1. Третьего не дано."
;;
esac
;;
pa)
echo -e "\e[0;35m[$(date +%H:%M:%S)]\e[0;37m: Отправляемся па на \e[1;37m$(echo $userselect_n| sed 's/s/ сек./g;s/h/ ч./g;s/m/ мин./g')\e[0;37m"
sleep "$userselect_n"
;;
k)
if [ -z $userselect_n ] ; then
echo 'Завершаем все процессы mplayer'
killall -v mplayer
else
echo "Пробуем завершить процесс mplayer для пластинки $userselect_n"
for i in $(get_pid_for_song $userselect_n); do kill -9 $i 2>/dev/null && echo 'Удача!'; done
fi
;;
r)
nrand=0
while [ "$nrand" != "1" ] ; do
r_d=$[RANDOM%$total];
if [ -z $(cat /tmp/vkdi$vr | awk '{print $1}' | grep -E "^$r_d\$") ] ; then echo -e "\e[0;35m[$(date +%H:%M:%S)]\e[0;37m: Кубик показал \e[1;37m$r_d\e[0;37m. У кубика нет стороны \e[1;37m$r_d \e[0;37m, поэтому он будет брошен ещё раз"; else nrand=1; fi
done
echo -e "\e[0;35m[$(date +%H:%M:%S)]\e[0;37m Кубик показал \e[1;37m$r_d. Запевай пластинку \e[1;37m#VK/${aid[$r_d]}: ${artist[$r_d]} - ${title[$r_d]}\e[0;37m"
drrr=${duration[$r_d]}
mplayer "${url[$r_d]}" &>/dev/null </dev/null &
P_PID=$(ps uax |grep "mplayer ${url[$r_d]}" | grep -v grep | awk '{print $2}')
;;
lms)
echo 'Это команда для отладки, ей не нужно пользоваться'$'\n'Нет, правда.
if [ -z "$(ps ax -o pid | grep $P_PID)" ] ; then echo 'Died'; else echo 'Still alive'; fi
;;
h)
if [ -z "$userselect_n" ]; then echo $help; else me_man; fi
;;
s)
unset $fields
fields="aid artist title duration url lyrics_id"
whatfind="`echo $whatdo | sed 's/^s //g'`"
get_data $d_method $cnt "$whatfind"
for i in $fields; do fill_array $i; done
total=0
get_list
# echo 'Поиск завершён. Выберите действие и номер найденного трека:'
;;
m)
get_similar "${artist[$userselect_n]}"
;;
o)
[ -n "$userselect_n" ] && cnt=$userselect_n && echo $cnt > $HOME/.vk_set_count && echo -e "Отныне показывать найденных: \e[1;37m$cnt\e[0;37m"
;;
w)
echo "Ok"
clear;;
esac
}

forever() {
echo "Введите команду. Введите '-f' для останова. Возможно придётся вручную остановить mplayer."
echo -n "data2/VK(+f)# "
read f_cmd
d_cmd="force forever"
while [ "$d_cmd" != '-f' ]; do
parse_input $f_cmd
read -t $drrr d_cmd
if [ -n "$d_cmd" ]; then f_cmd="$d_cmd"; fi #подмена команды на лету
done
echo "Force-forever режим отключён. Возможно придётся вручную остановить mplayer, если необходимо"
}

just_queue() {
d_cmd="force queue"
while [ "$d_cmd" != '-q' ]; do
if [ -z "$(cat /tmp/vk$$.queue 2> /dev/null)" ] ; then
break
else
echo "Осталось позиций в очереди: $(cat /tmp/vk$$.queue |wc -l)"
fi
parse_input $(cat /tmp/vk$$.queue)
sed '1d' /tmp/vk$$.queue > /tmp/vk$$.queue.last
mv /tmp/vk$$.queue.last /tmp/vk$$.queue
echo -n "data2/VK(+q)# "
while [ -n "$(ps ax -o pid | grep $P_PID)" ]; do
read -t 5 d_cmd
## echo alive
if [ -n "$d_cmd" ]; then
# d_usselect_d="$(echo $d_cmd | awk '{print $1}')";
# d_usselect_n="$(echo $d_cmd | awk '{print $2}')";
# case $d_usselect_d in
if [ "$d_cmd" = "-q" ]; then
echo "Прерывание..."
break 2
fi;

parse_input $d_cmd
echo -n "data2/VK(+q)# "
fi
done
#echo 'died, go next'
done
echo "Режим очереди отключен. Возможно, очередь закончилась или ещё не начиналась."
}

# --- Обрабатываем приветы --- #

is_trap_next(){
echo -e "\e[0;31m[$(date +%H:%M:%S)]: Было приказано немедленно завершить воспроизведение текущего трека."
parse_input "k"
}

echo $$ > /tmp/vk.pid
trap "is_trap_next" SIGUSR2

##

while true ; do
echo -n "data2/VK( )# "; read whatdo
if [ "$whatdo" == "." ]; then
if [ -n "$last_command" ] ; then whatdo="$last_command"; else echo -e "\e[0;35m[$(date +%H:%M:%S)]\e[0;37m Ошибка. Команда '.' не может быть первой, что вам пришло в голову"; fi
else
last_command="$whatdo";
fi

if [ -z "$d_query" ] ; then
if [ -z "$(echo $whatdo|awk '{ print $1 }'|grep -iE 's.*')" ] ; then echo "Сначала введите запрос."; continue;
else
d_query="$( echo $whatdo | sed 's/s//' )"
parse_input $whatdo
whatdo=skip
fi
fi
# [ -z "$whatdo" ] && whatdo=nozavison
# [ -z `echo $whatdo | awk '{ print $1 }' | grep -iE '(\.|k|s-*|l-*|t-*|o-*|h-*|w)'` ] && echo "$whatdo" > /tmp/whatdo
if [ "$whatdo" = "+f" ]; then
forever
else
if [ "$whatdo" = "+q" ]; then
just_queue
fi
#if [ "$whatdo" = "." ]; then
#parse_input `cat /tmp/whatdo` НАРКОМАНШТОЛЕ?!
#fi
IFS='-';
for does in $whatdo; do #мультикоманды
IFS=$ifs_backup;
parse_input $does;

IFS='-';
done
fi
IFS=$ifs_backup
done



_________________
em evael dna daeha oG
edisni yats ot referp I kniht I
...uoy pleh ohw esle enoemos dnif ll'uoy ebyaM
Не в сети
 Профиль  
 
 Заголовок сообщения: Re: Линуксоводы оценят ^_^
СообщениеДобавлено: 19 май 2014, 21:42 

Зарегистрирован: 20 янв 2014, 13:53
Сообщения: 12
Откуда: Санкт-Петербург
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
красота - оценили )


Не в сети
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 Страница 1 из 1 [ Сообщений: 2 ] 


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: