加藤祐介ブログ

シェル芸オンラインジャッジの紹介

記事投稿日: 2025年1月2日(木)

最終更新日: 2025年1月3日(金)

目次

はじめに

本記事の概要

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

シェル芸とは何か

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

シェル芸の定義↓

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

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

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

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

2023年5月3日から運営を開始して、2025年1月2日現在までアップデートを重ねながら問題なく動いている状態です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

問題選択

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

問題情報

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

シェル芸入力

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

正誤判定

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

画像問題

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

回答例

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

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

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

構成

おわりに

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

お知らせ

過去のお知らせ

シリーズ記事一覧

各シリーズの記事を下記にまとめてあります。

我が家のインコ「れもん&ぽぽ&ぐぐ」の日記 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記18 : 2024年に感謝&2025年もよろしくお願いします 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記17 : れもんもぐぐも平和な日々を送っています 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記16 : れもんが本に掲載されたり、愛鳥祭に行ったりなど 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記15 : 落花生、新聞紙、れもんとぐぐの邂逅 インコの飼い方と注意点(2024年版) 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記14 : 大人に近づくれもんと遊ぶ余裕が出てきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記13 : 生後4ヶ月を迎えたれもんと我が家に慣れてきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記12 : ぽぽが亡くなりました、そしてぐぐがやってきました インコ仲間「れもん&ぽぽ」の日記11 : ズグロシロハラインコのぽぽ、我が家へ セキセイインコ「れもん」の日記10 : 生後100日のれもん、ついに喋る セキセイインコ「れもん」の日記9 : 換羽期のれもん セキセイインコ「れもん」の日記8 : 病院へ挑戦! セキセイインコ「れもん」の日記7 : 外出用ゲージにチャレンジ! セキセイインコ「れもん」の日記6 : 新宿ことり博に行ってきました! セキセイインコ「れもん」の日記5 : 3週間経って順調に成長している模様 セキセイインコ「れもん」の日記4 : 鳥フェス千葉2024に行ってきました! セキセイインコ「れもん」の日記3 : 2週間経って我が家にも慣れてきた模様 セキセイインコ「れもん」の日記:第2回 セキセイインコの「れもん」が我が家にやってきました!
AlpacaHackで始めるCTF入門 AlpacaHackで始めるCTF入門7:AlpacaHack Round 5 - XorshiftStreamに挑戦 AlpacaHackで始めるCTF入門6:AlpacaHack Round 4 - Simple Flag Checkerに挑戦 AlpacaHackで始めるCTF入門5:AlpacaHack Round 3 - qrimeに挑戦 AlpacaHackで始めるCTF入門4:AlpacaHack Round 2 - Simple Loginに挑戦 AlpacaHackで始めるCTF入門3:初めてのCTFに参加 AlpacaHackで始めるCTF入門2:DreamhackでCTF入門 AlpacaHackで始めるCTF入門1:初めてのCTF
シェル芸 第66回シェル芸勉強会メモ 第64回シェル芸勉強会メモ ChatGPTでシェル芸勉強会の問題が解きたい シェル芸botで遊びたい(Bash)
ROS 2 ROS 2シェル芸:URDFを置換してRVizで表示する 改訂新版『ROS 2ではじめよう』を読了&メモ書き ROS 2 Jazzy公式チュートリアル02: ROS 2のノードとトピックについて ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで ROS 2 Humble 公式チュートリアル 02: ROS 2 のノード関係のコマンド ROS 2 Humble 公式チュートリアル 01: 環境構築から turtlesim まで
技術ネタ echoコマンドで"-n"をそのまま出力したい シェル芸オンラインジャッジの紹介 Ubuntu 24.04 LTSにおいてノートPCを電源に接続していない状態だと画面が暗くなる問題の解決方法 HTMLのvideoタグで貼った動画のサムネイルがSafariで表示されない問題を解決 WSL2上のUbuntuのVimで矩形選択するための設定 HTMLとCSSで画像のスライドショーを作成 GitHub Actionsでサーバ上のブログを自動更新 Windows と Ubuntu のデュアルブート
ポケポケブログ ポケポケブログ2:「幻のいる島」環境でもベトベトンデッキが強いです ポケポケブログ1:ベトベトン+マタドガスデッキをおすすめする
読書日記 読書日記『本を読んだことがない32歳がはじめて本を読む』【ネタバレあり】 読書日記:近畿地方のある場所について【ネタバレあり】 改訂新版『ROS 2ではじめよう』を読了&メモ書き
映画日記 映画日記『ラストマイル』感想【ネタバレあり】
料理日記 料理日記:オムライス 料理日記:豆腐春巻き 料理日記:鶏肉とナスのほりにし炒め 料理日記:卵焼き 料理日記:鶏肉の照り焼き&小松菜のおひたし 料理日記:納豆蕎麦 料理日記:ローストビーフ 料理日記:バターガーリックチキン
その他 JR東日本公式のお忘れ物チャットにお世話になった話 『Omega Crafter』プレイ日記: チュートリアル編 自作ブログ大改造計画 HTML数式表示テスト 自作ブログ開始

加藤祐介ブログの著作物はCC BY-NC-ND 4.0で公開されています。
加藤祐介ブログのソフトウェアはApache License 2.0で公開されています。
About License: GitHub - YusukeKatoBlog/LICENSE
© 2023 YusukeKato All Rights Reserved.