OmochiXを検索

Esc で閉じる

中級 ChatGPTClaude

手作業の定型作業をシェルスクリプトで自動化するプロンプト

毎回手で打っているコマンドや作業手順から、安全対策付きのシェルスクリプトを作成します。

プロンプト本文

次の手作業をシェルスクリプトにしてください。

■ 実行環境:{例:macOS(zsh)、Ubuntu 22.04(bash)}
■ 今の作業手順:
{手で実行しているコマンドや操作を順番に}
■ 自動化で実現したいこと:{例:毎朝cronで実行、引数で対象日付を指定}
■ 扱うファイル・ディレクトリ:{パスや命名規則}

作成ルール:
- 先頭で set -euo pipefail を設定し、エラー時に止まるようにする
- 削除・上書き・移動を行う処理には --dry-run オプションを用意し、実際には変更せず内容だけ表示できるようにする
- 変数はダブルクォートで囲み、空白を含むファイル名でも壊れないようにする
- 実行ログ(開始・終了・処理件数)を出力する
- 使い方(--help)を表示できるようにする

出力:
1. スクリプト本体(コメント付き)
2. 使い方の例
3. 初めて実行するときの確認手順(テストデータでの試し方)
4. このスクリプトで対応できないケース

ログの整理、バックアップ、ファイルの一括変換など、毎回手作業で行っている定型作業をシェルスクリプトにするプロンプトです。作業手順を日本語で書くだけで、エラー処理や実行前の確認(dry-run)を備えたスクリプトを作ります。

削除や上書きを伴う処理は、必ずテスト用のデータで動作を確かめてから使ってください。

使い方

今手でやっている作業を、実際のコマンドや操作の順に書き出して入力します。実行環境(macOSかLinuxか)で使えるコマンドが違うため、必ず指定してください。
最初は --dry-run で動かし、表示された内容が正しいことを確認してから本番のデータに使ってください。

出力例

【入力】Ubuntu 22.04/作業:/var/log/app 内の30日より古いログをgzip圧縮し、90日より古いものは削除/毎朝cronで実行

【出力イメージ】
#!/usr/bin/env bash
set -euo pipefail
# 使い方: ./rotate_logs.sh [--dry-run]
…
find "$LOG_DIR" -name '*.log' -mtime +30 -print0 | …
初回の確認手順:テスト用ディレクトリに日付の違うダミーファイルを作り、--dry-run で対象が正しいか確認