シェルから「Hollywood-hacker-scene」出力

シェルから「Hollywood-hacker-scene」出力

奇妙な質問のように思えるかもしれませんが、典型的なハリウッドハッキングシーンを作成するには何を使用しますか?

友達からこんな要望を受けた時、心がぼやけてしまいました。私が考えることができるのは、映画に出てくるすべてのnmapシーンだけです。行列など。

ただし、これは基本OSXがインストールされているMacで実行する必要があります。私はこれが*nixの特徴だと思います。そうですか?インターネットにアクセスできないため、外部ツールを使用した準備はできません。

/var/log/messagesに対応する内容を画面に作成するつもりです。

ベストアンサー1

一度に1文字を画面に印刷する方法(ハリウッド映画でよく見られる「ハッキング」スタイル)を尋ねる場合は、次のスクリプトで十分です(から入力を受け取りますstdin)。

存在するbash

#!/bin/bash

while IFS= read -r line; do
    length="${#line}"
    bol=1
    for (( offset = 0 ; offset < length ; offset++ )); do
        char="${line:offset:1}"
        printf '%s' "$char"
        if (( bol )) && [[ "$char" == " " ]]; then
            continue
        fi
        bol=0
        sleep 0.05
    done

    if (( length == 0 )); then
        sleep 0.$(( RANDOM % 3 + 2 ))
    else
        sleep 0.$(( RANDOM % 7 + 3 ))
    fi

    printf '\n'
done

またはCのシンプルなバージョン:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(void) {
    char buf[1];
    int len;

    while ((len = read(STDIN_FILENO, buf, sizeof(buf))) > 0) {
        if (write(STDOUT_FILENO, buf, len) != len) {
            perror("write");
            return EXIT_FAILURE;
        }
        usleep(50000);
    }
    if (len != 0) {
        perror("read");
        return EXIT_FAILURE;
    }
    return EXIT_SUCCESS;
}

dmesg次の入力として使用したい場合:

dmesg | hollywood

おすすめ記事