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最高!

お知らせ

カリキュラムなし!学びたいことだけをプロと学べる『TechCampus』の詳細情報

カリキュラムなし!学びたいことだけをプロと学べる『TechCampus』の詳細情報

カリキュラムなし!学びたいことだけをプロと学べる『TechCampus』の詳細情報!興味のある人はぜひコミュニティに参加ください!

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

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

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

Read More

タグ

Flutter (100)初心者向け (26)イベント (17)Google Apps Script (14)Nextjs (11)可茂IT塾 (8)Firebase (7)riverpod (6)React (6)ChatGPT (4)新卒 (4)就活 (4)デザイン (4)Dart (4)JavaScript (4)FlutterWeb (3)vscode (3)Prisma (3)NestJS (3)Slack (3)TypeScript (3)ワーケーション (3)インターン (3)お知らせ (3)設計 (2)線型計画法 (2)事例 (2)Image (2)File (2)画像 (2)Figma (2)iOS (2)アプリ開発 (2)React Hooks (2)tailwindcss (2)社会人 (2)大学生 (2)RSS (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)Git (1)オンラインオフィス (1)LINE (1)Bitcoin (1)bitFlyer (1)コミュニティー (1)文系エンジニア (1)Freezed (1)markdown (1)GlobalKey (1)ValueKey (1)Key (1)アイコン (1)go_router (1)debug (1)Apple Store Connect (1)FlutterGen (1)デバッグ (1)Widget Inspector (1)flutter (1)検索機能 (1)Shader (1)Navigator (1)メール送信 (1)Dio (1)CustomClipper (1)ClipPath (1)Material Design (1)カスタム認証 (1)figma (1)アニメーション (1)Arduino (1)ESP32 (1)経験談 (1)フリーランス (1)mac (1)csv (1)Dialog (1)BI (1)LifeHack (1)ショートカット (1)Chrome (1)高校生 (1)キャリア教育 (1)非同期処理 (1)生体認証 (1)BackdropFilter (1)レビュー (1)getAuth (1)Algolia (1)コンサルティング (1)Symbol (1)

お知らせ

カリキュラムなし!学びたいことだけをプロと学べる『TechCampus』の詳細情報

カリキュラムなし!学びたいことだけをプロと学べる『TechCampus』の詳細情報

カリキュラムなし!学びたいことだけをプロと学べる『TechCampus』の詳細情報!興味のある人はぜひコミュニティに参加ください!

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

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

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

Read More