1つのコマンドで、シェルの読み取りコマンドの共通パラメータを理解できます。

1つのコマンドで、シェルの読み取りコマンドの共通パラメータを理解できます。

Shell で受信パラメータを受信する方法は 2 つあることがわかっています。 1 つはスクリプトを通じてパラメータを渡す方法であり、もう 1 つは読み取りを通じて受信パラメータを受け取る方法です。スクリプトを通じてパラメータを渡す簡単な例は次のとおりです。

# スクリプトをパススルーします。$0 はスクリプト名、$1 は最初のパラメータ、$2 は 2 番目のパラメータです [root@host ~]# ./script.sh 1 2
合計 = 3
[root@host ~]# vim script.sh
#!/bin/bash
関数add(){
  合計=$(式$1 + $2)
  echo -e "合計 = $total"
}
1ドル追加 2ドル

read を通じて受信パラメータを受信する方法を見てみましょう。まず、read の基本形式を見てみましょう。

読み取り [-rs] [-a 配列] [-d 区切り文字] [-n n文字] [-N n文字] [-p プロンプト] [-t タイムアウト] [var1 var2 var3......]

[root@host ~]# ./script.sh 
パスワードを入力してください:
入力したパスワードは: Test@1234\
[root@host ~]# vim script.sh
#!/bin/bash
read -n10 -t30 -r -s -d $ -p "パスワードを入力してください:" パスワード
echo -e "\n入力したパスワードは:$password"
  • -p プロンプト ステートメント、続いて入力プロンプト情報が続きます。ここでは「パスワードを入力してください:」です。
  • -nパラメータ番号、パスワードの長さを制限する必要がある場合や、[Y/N]などの入力長さの制限がある場合は、1つの入力のみを入力します。-n1
  • -s シールドエコー、入力内容は画面に表示されません。通常はパスワード入力に使用されます。
  • -t 待機時間。ここでは 30 秒に設定されています。30 秒以内に入力が行われないか、入力が不完全な場合は、システムが終了します。
  • -d 入力制限、ここには $、$ への入力、入力の自然な終了
  • -rは特殊文字\の変換機能をブロックし、追加後に通常の文字として扱います。

上記の例から、上記の一般的な機能のほとんどが基本的にカバーされており、特に -p、-n、-t、-s などのパラメーターは、読み取りコマンドをよく学習するために使用できます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • PowerShell 関数でパイプライン パラメータを受け取る例
  • シェルスクリプトはパラメータを走査するためにforループを使用する
  • シェルの共通パラメータと判定コマンドの紹介
  • シェルで関数パラメータとして配列を使用する方法(詳細説明)
  • シェルスクリプトでパラメータを渡す3つの方法の比較
  • シェルスクリプトで2つのダッシュを使用して外部パラメータを受け取る方法

<<:  CocosCreatorでWeChatゲームを作成する方法

>>:  CMD で MySQL データベースを操作するときに中国語の文字化けが発生する問題の解決方法

推薦する

ドラッグアンドドロップによる並べ替えの詳細を実現する js

目次1. はじめに2. 実装3. HTML ドラッグ アンド ドロップ API を使用しないのはなぜ...

シームレスなカルーセル効果を実現するネイティブ js

参考までに、ネイティブjsでカルーセル効果(シームレススクロール)を実現しています。具体的な内容は以...

Linuxカーネルの浮動小数点演算のサポートに関する簡単な説明

現在、ほとんどの CPU は浮動小数点ユニット (FPU) をサポートしています。FPU は、プロセ...

ボタンをクリックしてテキストを入力ボックスに変換し、保存をクリックしてテキスト実装コードに変換します。

ボタンをクリックしてテキストを入力ボックスに変換し、保存をクリックしてテキスト実装コードに変換します...

Vue の el-table は自動天井効果を実現します (固定をサポート)

目次序文実装のアイデア効果:使用:メインソースコード:序文多くのケースを見た結果、単純な観点からは、...

proxy_pass を設定した後に Nginx が 404 を返す問題を解決する

目次1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューテ...

4つのReactコンポーネントにおけるDOMスタイル設定の詳細な説明

1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...

nginxの基礎を学ぶ

目次1. nginx とは何ですか? 2. nginx で何ができるのか? 2.1 フォワードプロキ...

Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します

Vue でタブ切り替えを実装する 3 つの方法1. v-showはコンテンツの切り替えを制御します1...

Docker Consul コンテナ サービスの更新と見つかった問題の概要

目次1. コンテナサービスの更新とDockerコンサルの検出1. サービス登録と検出とは何ですか? ...

CentOS8.1 で Gitlab サーバーを構築するための詳細なチュートリアル

Gitlab と Github の違いについては、あまり説明する必要はありません。一言でまとめると、...

JS関数のカリー化の詳細な説明

目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...

Vue3 AST パーサー - ソースコード分析

目次1. AST抽象構文木を生成する2. ASTのルートノードを作成する3. 子ノードの解析4. テ...

MySQLのLIMIT文について詳しく説明します

目次質問サーバー層とストレージエンジン層LIMITって何ですか?何をするか?トゥカオ最近、Q&...

Windows 8.1 で MySQL5.7 のルート パスワードを忘れた場合の解決方法

【背景】最近勉強中に非常に恥ずかしいことに遭遇しました。MySQL のパスワードを忘れてしまい、My...