はじめに

本記事の概要

本記事では、シェル芸(シェルのワンライナー)で問題を解いて遊べる「シェル芸オンラインジャッジ」を紹介します。 シェル芸オンラインジャッジは、シェル芸用の問題とユーザが実行したコマンドの出力結果の自動正誤判定機能を提供します。

シェル芸とは何か

シェル芸のトップページでシェル芸が定義されています。

シェル芸の定義↓

マウスも使わず、ソースコードも残さず、GUIツールを立ち上げる間もなく、あらゆる調査・計算・テキスト処理をCLI端末へのコマンド入力一撃で終わらすこと。あるいはそのときのコマンド入力のこと。

引用元:シェル芸のトップページ

シェル芸オンラインジャッジについて

シェル芸オンラインジャッジとは何か

シェル芸オンラインジャッジは、シェル芸(シェルのワンライナー)で様々な問題を解いて遊べるウェブサイトです。 自動で正誤判定も行われます。 その他に、練習問題やすべての問題の回答例もあるため、学習用途でも利用できるかと思います。

2023年5月3日に運営を開始してアップデートを重ねながら現在まで稼働しています。

シェル芸オンラインジャッジの概要

下記のリンクからシェル芸オンラインジャッジにアクセスできます。

ウェブサイト:シェル芸オンラインジャッジ

このようなページが表示されます↓

シェル芸オンラインジャッジ

シェル芸オンラインジャッジのソースコードはGitHubで公開しています。

GitHub:シェル芸オンラインジャッジ

シェル芸オンラインジャッジの特徴

主なシェル芸オンラインジャッジの特徴は下記の通りです。

  • シェル芸で問題を解いて遊べる
  • 自動で正誤判定できる
  • パソコンでもスマホでも遊べる
  • ソースコードをGitHubで公開
  • 通常問題に加えて練習問題と画像問題もある
  • すべての問題の回答例も掲載

シェル芸オンラインジャッジのコミュニティ

GitHubのコミュニティが存在します。

GitHub:シェル芸オンラインジャッジのコミュニティ

その他に、mixi2のコミュニティも存在します。

mixi2:シェル芸オンラインジャッジのコミュニティ

シェル芸オンラインジャッジの遊び方

シェル芸オンラインジャッジでの遊び方を説明します。

まず問題を選択します。 通常問題に加えて、練習問題と画像問題もあります。 2025年1月2日現在では合計85問です。

問題選択

問題を選択して「決定」ボタンを押すと、 問題文と入力、想定出力が表示されます。 入力はシェル芸実行時にinput.txtから取得できます。 また、シェル芸の出力結果は想定出力に従う必要があります。

問題情報

ユーザがシェル芸を入力して実行します。 コマンドボタンを押すとコマンドを入力できて便利です(特にスマホで便利です)。

シェル芸入力

シェル芸の実行ボタンを押すと正誤判定が自動で行われます。 正解と表示されたらその問題はクリアです。 間違いの場合は不正解と表示されます。

正誤判定

下図のように画像問題も用意してあります。

画像問題

すべての問題の回答例も掲載しているのでぜひご参照ください。

回答例

遊び方の説明は以上です。

シェル芸オンラインジャッジの構成

シェル芸オンラインジャッジは下図のように構成されています。 ユーザがブラウザ上でシェル芸を入力してサーバへ送信し、 サーバがDockerコンテナ内でそのシェル芸を実行して出力結果と正誤判定結果をユーザへ返します。

2026年2月1日、Dockerコンテナ内でシステム全体を動かせるようになりました。

新しい構成:2026/02/01現在(Nano Banana Proで生成)

新しい構成

新しい構成:2026/01/18現在(Nano Banana Proで生成)

新しい構成

古い構成↓

古い構成

おわりに

本記事ではシェル芸で遊べるシェル芸オンラインジャッジを紹介しました。 今のところ正常に動いているのでぜひ遊んでみていただけると嬉しいです。 ちなみに今後も問題を追加したり、もっと使いやすくしたりなどアップデートしていく予定ですのでよろしくお願いします。 それでは、また。