ChatGPTにシェルスクリプトのコードを聞いてみた

image

はじめに

シェルスクリプトのコマンドを定期的に実行して、その結果を保存しておきたいコードを書きたかったので、ChatGPTに聞いてみました。

実際のプロンプトと回答

シェルスクリプトで、あるコマンドの実行結果を変数に代入するコードを教えて

回答:
シェルスクリプトであるコマンドの実行結果を変数に代入するためには、次のように書くことができます。

#!/bin/bash

# コマンドの実行結果を変数に代入
result=$(ls)

# 結果の出力
echo "$result"

この例では、ls コマンドの結果が result という変数に代入されています。$(コマンド) の形式で記述することで、コマンドの実行結果を変数に代入することが可能です。
同じように任意のコマンドを使用して結果を変数に保存することが可能です。例えば、現在の日付を取得してそれを変数に保存したい場合は次のように書くことができます。

#!/bin/bash

# 日付コマンドの実行結果を変数に代入
today=$(date)

# 結果の出力
echo "$today"

このスクリプトは date コマンドを実行し、その結果を today 変数に保存します。そしてその結果を表示します。
感想:
ふむふむ、コメントもついててわかりやすい。

シェルスクリプトのエラーハンドリングのコードを教えて

回答: シェルスクリプトにおけるエラーハンドリングは非常に重要です。エラーハンドリングを使用することで、スクリプトの実行中にエラーが発生した場合に、適切に対処することができます。 以下に、一般的なエラーハンドリングを使用したシェルスクリプトの例を示します。

#!/bin/bash

# 'set -e' はエラーが発生したらスクリプトを終了する
set -e

# コマンドの実行
command1

# コマンドの実行が成功したか確認
if [ $? -eq 0 ]; then
    echo "command1 executed successfully"
else
    echo "command1 execution failed"
    exit 1
fi

# 他のコマンドの実行
command2

# コマンドの実行が成功したか確認
if [ $? -eq 0 ]; then
    echo "command2 executed successfully"
else
    echo "command2 execution failed"
    exit 1
fi

感想:
set -eの意味は1ミリもわからんけど、コードはちゃんと動くぞ。

まとめ

ChatGPT最高!

お知らせ

可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。

Read More
U30可茂ITインターンハッカソン

U30可茂ITインターンハッカソン

12月28,29日開催。2日間でアプリ開発の企画から完成までを目指す!U30可茂ITインターンハッカソンを開催します。

Read More

タグ

Flutter (112)初心者向け (28)イベント (18)Google Apps Script (15)Nextjs (12)可茂IT塾 (9)Firebase (7)riverpod (6)React (6)ChatGPT (5)vscode (5)デザイン (5)新卒 (4)就活 (4)Figma (4)Dart (4)JavaScript (4)お知らせ (4)FlutterWeb (3)Prisma (3)NestJS (3)Slack (3)TypeScript (3)ワーケーション (3)インターン (3)設計 (2)線型計画法 (2)事例 (2)Git (2)Image (2)File (2)Material Design (2)画像 (2)iOS (2)アプリ開発 (2)React Hooks (2)tailwindcss (2)社会人 (2)大学生 (2)RSS (1)Google (1)Web (1)CodeRunner (1)個人開発 (1)Android (1)Unity (1)WebView (1)Twitter (1)フルリモート (1)TextScaler (1)textScaleFactor (1)学生向け (1)supabase (1)Java (1)Spring Boot (1)shell script (1)正規表現 (1)パワーポイント (1)趣味 (1)モンスターボール (1)CSS (1)SCSS (1)Cupertino (1)ListView (1)就活浪人 (1)既卒 (1)保守性 (1)iPad (1)シェアハウス (1)スクレイピング (1)PageView (1)画面遷移 (1)flutter_hooks (1)Gmail (1)GoogleWorkspace (1)ShaderMask (1)google map (1)Google Places API (1)GCPコンソール (1)Google_ML_Kit (1)Vercel (1)Google Domains (1)DeepLeaning (1)深層学習 (1)Google Colab (1)コード生成 (1)GitHub Copilot (1)オンラインオフィス (1)オブジェクト指向 (1)クラスの継承 (1)ポリモーフィズム (1)LINE (1)Bitcoin (1)bitFlyer (1)コミュニティー (1)文系エンジニア (1)Freezed (1)ヒーター (1)作業効率 (1) (1)permission_handler (1)flutter_local_notifications (1)markdown (1)GlobalKey (1)ValueKey (1)Key (1)アイコン (1)go_router (1)debug (1)datetime_picker (1)Apple Store Connect (1)FlutterGen (1)デバッグ (1)Widget Inspector (1)VRChat (1)API (1)検索機能 (1)Shader (1)Navigator (1)メール送信 (1)FlutterFlow (1)Firebase App Distribution (1)Fastlane (1)Dio (1)CustomClipper (1)ClipPath (1)カスタム認証 (1)アニメーション (1)Arduino (1)ESP32 (1)経験談 (1)フリーランス (1)mac (1)csv (1)docker (1)GithubActions (1)Dialog (1)BI (1)LifeHack (1)ショートカット (1)Chrome (1)高校生 (1)キャリア教育 (1)非同期処理 (1)生体認証 (1)BackdropFilter (1)レビュー (1)getAuth (1)Algolia (1)コンサルティング (1)Symbol (1)

お知らせ

可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!

可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。

Read More
U30可茂ITインターンハッカソン

U30可茂ITインターンハッカソン

12月28,29日開催。2日間でアプリ開発の企画から完成までを目指す!U30可茂ITインターンハッカソンを開催します。

Read More