LINUX.ORG.RU

python <(cat <<EOF

так не честно.

Spoofing ★★★★★ ()
Ответ на: комментарий от Spoofing

Баш это всего лишь запускалка других программ, всё нормально.

nvidia ()

Или ты говоришь что там, или тебя сейчас банят за распространение зловреда.

Shulman ()

какая-то музыкальная муть? ничо не произошло, откатил виртуалку на снапшот

PtiCa ★★★★★ ()

Никто не мешает ссыль открыть и поглядеть. Расшифровать, правда, не у каждого получится)

#!/bin/bash
# Rick Astley in your Terminal.
# By Serene Han and Justine Tunney <3
version='1.1'
rick='http://keroserene.net/lol'
video="$rick/astley80.full.bz2"
# TODO: I'll let someone with mac or windows machine send a pull request
# to get gsm going again :)
audio_gsm="$rick/roll.gsm"
audio_raw="$rick/roll.s16"
audpid=0
NEVER_GONNA='curl -s -L http://bit.ly/10hA8iC | bash'
MAKE_YOU_CRY="$HOME/.bashrc"
red='\x1b[38;5;9m'
yell='\x1b[38;5;216m'
green='\x1b[38;5;10m'
purp='\x1b[38;5;171m'
echo -en '\x1b[s'  # Save cursor.

has?() { hash $1 2>/dev/null; }
cleanup() { (( audpid > 1 )) && kill $audpid 2>/dev/null; }
quit() { echo -e "\x1b[2J \x1b[0H ${purp}<3 \x1b[?25h \x1b[u \x1b[m"; }

usage () {
  echo -en "${green}Rick Astley performs ♪ Never Gonna Give You Up ♪ on STDOUT."
  echo -e "  ${purp}[v$version]"
  echo -e "${yell}Usage: ./astley.sh [OPTIONS...]"
  echo -e "${purp}OPTIONS : ${yell}"
  echo -e " help   - Show this message."
  echo -e " inject - Append to ${purp}${USER}${yell}'s bashrc. (Recommended :D)"
}
for arg in "$@"; do
  if [[ "$arg" == "help"* || "$arg" == "-h"* || "$arg" == "--h"* ]]; then
    usage && exit
  elif [[ "$arg" == "inject" ]]; then
    echo -en "${red}[Inject] "
    echo $NEVER_GONNA >> $MAKE_YOU_CRY
    echo -e "${green}Appended to $MAKE_YOU_CRY. <3"
    echo -en "${yell}If you've astley overdosed, "
    echo -e "delete the line ${purp}\"$NEVER_GONNA\"${yell}."
    exit
  else
    echo -e "${red}Unrecognized option: \"$arg\""
    usage && exit
  fi
done
trap "cleanup" INT
trap "quit" EXIT

# Bean streamin' - agnostic to curl or wget availability.
obtainium() {
  if has? curl; then curl -s $1
  elif has? wget; then wget -q -O - $1
  else echo "Cannot has internets. :(" && exit
  fi
}
echo -en "\x1b[?25l \x1b[2J \x1b[H"  # Hide cursor, clear screen.

#echo -e "${yell}Fetching audio..."
if has? afplay; then
  # On Mac OS, if |afplay| available, pre-fetch compressed audio.
  [ -f /tmp/roll.s16 ] || obtainium $audio_raw >/tmp/roll.s16
  afplay /tmp/roll.s16 &
elif has? aplay; then
  # On Linux, if |aplay| available, stream raw sound.
  obtainium $audio_raw | aplay -Dplug:default -q -f S16_LE -r 8000 &
elif has? play; then
  # On Cygwin, if |play| is available (via sox), pre-fetch compressed audio.
  obtainium $audio_gsm >/tmp/roll.gsm.wav
  play -q /tmp/roll.gsm.wav &
fi
audpid=$!

#echo -e "${yell}Fetching video..."
# Sync FPS to reality as best as possible. Mac's freebsd version of date cannot
# has nanoseconds so inject python. :/
python <(cat <<EOF
import sys
import time
fps = 25; time_per_frame = 1.0 / fps
buf = ''; frame = 0; next_frame = 0
begin = time.time()
try:
  for i, line in enumerate(sys.stdin):
    if i % 32 == 0:
      frame += 1
      sys.stdout.write(buf); buf = ''
      elapsed = time.time() - begin
      repose = (frame * time_per_frame) - elapsed
      if repose > 0.0:
        time.sleep(repose)
      next_frame = elapsed / time_per_frame
    if frame >= next_frame:
      buf += line
except KeyboardInterrupt:
  pass
EOF
) < <(obtainium $video | bunzip2 -q 2> /dev/null)

medossa ★★ ()
Ответ на: комментарий от Thetan

Если бы это еще работало… Но это же линукс

PtiCa ★★★★★ ()
Ответ на: комментарий от Shulman

Yo dawg... Кто мешает в линуксе крутить виртуалку с линуксом, чтобы ты мог сидеть в линуксе, пока сидишь в линуксе?

otto ()

Скрипт хороший и песня отличная.

time_LORd ()

Кто рискнёт?

Спасибо, я уже. Но вчера =)))))

Deleted ()

У меня замедленно раза в два, какой-то дрон-дум получился.

madcore ★★★★★ ()
Ответ на: комментарий от otto

Кто мешает в линуксе крутить виртуалку с линуксом, чтобы ты мог сидеть в линуксе, пока сидишь в линуксе?

Рекурсия?

e000xf000h ()
Ответ на: комментарий от intelfx

Оффтоп: Там 240-я вышла. Будешь писать новость?

imul ★★★★★ ()
Ответ на: комментарий от imul

Да. На выходных писал, но забил. Сегодня будет.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Спасибо. А то я полистал неподтверждённые и не увидел.

imul ★★★★★ ()
Ответ на: комментарий от Shulman

Ну, а чо, у меня тоже чего только в виртуалках нет. Не будешь же ты GuixSD на железо ставить ради того чтобы потыкать, например. У или LFS на железе собирать...

WitcherGeralt ()

У Ландьюка было, я догадался даже не открывая ссылки (по первому комментарию).

WitcherGeralt ()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от PtiCa

У тебя питон не установлен? Какой может быть линукс без питона?

rupert ★★★ ()

curl

натуралы честные люди используют wget. им нечего загружать через консоль скрывать.

darkenshvein ★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)