ホームページ > システムチュートリアル > Linux > はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

Jennifer Aniston
リリース: 2025-03-16 10:25:12
オリジナル
448 人が閲覧しました

インタラクティブシェルスクリプトは、ユーザーフレンドリーで効率的なタスク管理を提供することにより、システム管理を強化します。このガイドの詳細LinuxでインタラクティブなBASHスクリプトを作成し、「はい」、「いいえ」、「キャンセル」プロンプトを組み込んで、実行前にユーザーの確認を確保し、偶発的なアクションを防ぎます。

目次

  • Bashのreadコマンド
    • 機能
    • 利点
    • 使用例
    • コマンドの基本read
  • yes/no/キャンセルプロンプトを使用して、インタラクティブバッシュスクリプトを構築します
    • 例1:Debianシステム更新スクリプト
    • 例2:古いログファイルの削除
    • 例3:ディレクトリ間でファイルをコピーします
  • 結論

導入

ユーザー入力でBASHスクリプトを強化すると、ユーティリティとユーザーエクスペリエンスが大幅に向上します。 readコマンドは、このインタラクティブ性を促進し、ユーザーが変数に回答を入力して保存するよう促します。 readと条件付きステートメント(例えば、 if )と組み合わせることでcaseユーザー入力に基づいて動的なスクリプト動作が可能になります。このチュートリアルカバー:

  • readコマンドの目的。
  • readでユーザー入力をキャプチャします。
  • 応答処理のためにifおよびcaseステートメントを活用します。
  • インタラクティブバッシュスクリプトの実用的な例。

このガイドは、ユーザーが確認を促すインタラクティブなBASHスクリプトを作成し、操作を続行、中止、またはキャンセルできるようにするようになります。

Bashのreadコマンド

Bashのreadコマンドは、入力の行(ユーザーまたはファイルから)を読み取り、1つ以上の変数に割り当てます。インタラクティブなシェルスクリプトとテキストファイル処理には非常に重要です。

機能

読み取りスクリプトの実行read 、ユーザー入力とEnterが続くのを待ちます。入力されたテキストは、指定された変数に保存されます。

利点

  • インタラクティブなスクリプトを有効にします。
  • ユーザー入力に基づいてカスタマイズされたスクリプト動作を許可します。
  • 重要なアクションの前にメニューと確認プロンプトに最適です。

使用例

  • パーソナライズされたメッセージのユーザー名を収集します。
  • アクションを実行する前に、はい/いいえの確認を取得します。
  • ユーザー選択可能なオプションを使用してインタラクティブなメニューを作成します。

コマンドの基本read

1。構文:

 [options] variable_nameを読み取ります
ログイン後にコピー

オプション:

  • -r :バックスラッシュの解釈をエスケープキャラクターとして防ぎます。例: read -r response
  • -p :迅速なメッセージを表示します( echoの必要性を排除します)。例read -p "What's your name? " name
  • -s :ユーザーの入力を隠します(パスワードに適しています)。例: read -s -p "Enter your password: " password
  • -t :入力の時間制限を設定します。
  • -n :入力として受け入れられている文字の数を制限します。

2。ユーザー入力を読む:

readの主な使用は、スクリプトの実行中にユーザーに入力を促すことです。

例:

エコー「あなたの名前を入力してください:」
名前を読んでください
エコー「こんにちは、$ name!」 
ログイン後にコピー

はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

3.プロンプトの使用:

-pオプションは、プロンプトディスプレイを簡素化します。

 -p「あなたは何歳ですか?」年齢
エコー「私は$年齢です。」 
ログイン後にコピー

はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

4。複数の変数:

単一行の個別の変数に複数の入力を読み取ります。

エコー「最初の名前と姓を入力してください:」
first_name last_nameを読んでください
echo "こんにちは、$ first_name $ last_name!" 
ログイン後にコピー

はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

5。デフォルト値:

ユーザーが入力を入力しない場合、デフォルト値を提供します。

読む-p "お気に入りのブログ[Ostechnix]:"ブログを入力してください
blog = $ {blog:-ostechnix}
エコー「私のお気に入りのブログは$ブログです。」 
ログイン後にコピー

はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

6。時間制限:

-tで入力時間制限を設定します:

読む-t 5 -p "Quick!Lucky Number(5秒)と入力:" Lucky_number
エコー「あなたのラッキーナンバーは$ lucy_number」 
ログイン後にコピー

はいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルする

7。隠し入力(パスワード):

パスワードのような機密データに-sを使用してください:

 -s -p "パスワードを入力:"パスワードを読み取ります
Echo#は新しいラインを印刷します
エコー「受信したパスワード(セキュリティのために非表示)」
ログイン後にコピー

サンプルreadコマンドスニペットのプロンプトのシステム更新確認(はい/いいえ/キャンセル):

 prompt_for_input(){
    真実ですが。する
        echo -n "更新システム?(y/n/c):"
        -R応答を読みます
        ケース「$ response」インチ
            [yy]*)echo "yes selected。"; return 0 ;;
            [nn]*)echo "no selected。"; 1を返します;;
            [cc]*)echo "Cancel selected。"; 2を返します;;
            *)Echo "Invalid input。"; ;;
        ESAC
    終わり
}
ログイン後にコピー

yes/no/キャンセルプロンプトを使用して、インタラクティブバッシュスクリプトを構築します

3つの例スクリプトは、 readと条件付きステートメントを使用したインタラクティブなスクリプトの作成を示しています。

例1:Debianシステム更新スクリプト

このスクリプトは、Debianベースのシステムを更新する前に確認を求めます。

(入力と同様に、スクリプトコードがここに挿入されますが、明確さと堅牢性のために潜在的に改善されます)

例2:古いログファイルの削除

このスクリプトは、ユーザーに警告し、古いログファイルを削除する前に確認を求めます。注意:生産システムで使用する前に、これを徹底的にテストします。スクリプトは、削除の正確なディレクトリと年齢のしきい値を指定する必要があります。

(入力と同様に、スクリプトコードがここに挿入されますが、明確さと堅牢性のために潜在的に改善され、安全上の注意事項を強調します)

例3:ディレクトリ間でファイルをコピーします

このスクリプトは、ファイルをコピーする前に確認を求めて、潜在的な上書きについて警告します。

(入力と同様に、スクリプトコードがここに挿入されますが、明確さと堅牢性のために改善される可能性があり、ファイルの上書きの考慮事項を強調します)

結論

このチュートリアルは、意思決定のためにreadコマンドと条件ステートメントを使用して、Yes/no/キャンセルプロンプトを使用してインタラクティブなBASHスクリプトを作成することを実証しました。他の方法は存在しますが、 readシンプルさと有効性を提供します。インタラクティブなスクリプトを作成するときは、ユーザーの安全性とデータの整合性に優先順位を付けることを忘れないでください。

以上がはいでインタラクティブなバッシュスクリプトを作成する方法、いいえ、Linuxでプロンプトをキャンセルするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート