AIの回答を自分で実行
ファイル整理や自動化をAIに頼むと、多くの場合シェルスクリプトが返ってきます。シェルを読めれば、実行前に安全性を自分で確認できます。
登録すると、どこまで学んだかを覚えておきます。
AIの学習ではPythonを思い浮かべがちですが、AIツールのインストールや実行を支える実用的な基礎は、ターミナルのコマンドとシェルです。
シェルはAIモデルを作るための主な言語ではありませんが、Pythonより前からファイル管理や作業の自動化に使われてきた道具です。
深く学び込む必要はありません。よく使うコマンドをいくつか覚えるだけで、気軽に始められ、一生役立つ基礎になります。
シェルは実行・ファイル管理・開発の自動化に便利です。AIはブラウザ・アプリ・ノートブック・APIでも使えます。端末は便利な窓口の一つで、全利用者の必須条件ではありません。
基本コマンドから Node.js・開発ツール、Python や awk・sed など他の言語の実行まで、学んだらすぐに実行しましょう。
ファイル整理や自動化をAIに頼むと、多くの場合シェルスクリプトが返ってきます。シェルを読めれば、実行前に安全性を自分で確認できます。
シェルは何十年も使われてきた安定した共通語です。一度学べばmacOS・Linux・サーバー・クラウド・AIツールで長く活用できます。
macOSの標準シェルはzshですが、このコースのコマンドと概念はほぼ同じように動作します。#!/bin/bashを使えばBashで明示的に実行でき、配列の添字の開始番号のようなごく一部の高度な違いを除けばそのまま通用します。
20行ほどのbashで、ブラウザーに実際にページを返すWebサーバーを起動できます。HTTPが結局「テキストのかたまりをやり取りする約束」であることがよく分かる例です。
#!/bin/bash
PORT=8084
PIPE=simple-web-server-pipe
rm -f "$PIPE"
mkfifo "$PIPE"
response() {
read -r method path _
echo "[$(date)] $method $path" >&2
index=$(cat index.html)
printf 'HTTP/1.1 200 OK\r\nContent-Type: text/html; charset=utf-8\r\nConnection: close\r\n\r\n%s' \
"$index"
}
while true; do
response < "$PIPE" | nc -l "$PORT" > "$PIPE"
donemkfifo "$PIPE" 名前付きパイプ(FIFO)を作ります。ncが受け取ったリクエストと、作った応答がこの通り道を行き来します。nc -l "$PORT" nc(netcat)で8084番ポートを開き、ブラウザーの接続を待ちます。ソケットサーバーをコマンド一つで代用します。response() リクエストの1行目(メソッド・パス)を読んでログを残し、index.htmlをHTTP 200応答にして返します。while true; do … done 応答後に接続が切れるとループが回り、次の訪問者を受け付けます。おかげでサーバーは動き続けます。同じフォルダーにindex.htmlを置き、bash server.shで実行してから、ブラウザーでlocalhost:8084を開いてください。本番用ではありませんが、仕組みの理解に最適です。