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 データベースを操作するときに中国語の文字化けが発生する問題の解決方法

推薦する

インデックススキャンを使用したMySQLソート

目次sakilaをインストールするインデックススキャンソートテーブル構造インデックススキャンをソート...

既存のMySQLデータベースの文字セットを統一する方法

序文データベースでは、一部のデータ テーブルとデータは latin1 であり、一部のデータ テーブル...

mysql8.x docker リモートアクセスの詳細な設定

目次環境条件エラーが発生しました回避策1. mysql dockerにログインする2. ルートパスワ...

CSS 経由で JS にパラメータを渡す方法

1. CSSを通す必要がある背景CSS におけるメディアクエリの用途は、デバイスサイズの判別、マウス...

CSS3のボックスサイズプロパティの興味深いボックスモデルについての簡単な説明

誰もがボックス モデルの構成を、内側から外側まで、コンテンツ、パディング、境界線、マージンについて知...

LinuxベースのSelenium環境を構成し、操作を実装する

1. Linux で Selenium を使用する1. Chromeをインストールする次のコマンドを...

Docker コンテナに TensorRT をインストールする際の問題

Ubuntu にインストールされているバージョンをアンインストールします。 sudo apt-get...

nginx における proxy_pass のさまざまな使用法の詳細な説明

目次プロキシ転送ルール最初のもの: 2番目のタイプ: 3番目のタイプ: 4番目のタイプ: 5番目:プ...

Hadoop 2.x と 3.x の 22 ポイントの比較、Hadoop 3.x の 2.x に対する改善点

質問ガイド1. Hadoop 3.x はどのようにして障害を許容するのでしょうか? 2. Hadoo...

VScode設定のリモートデバッグLinuxプログラムの問題を解決する

VScode リモートデバッグ Linux プログラムの問題について見てみましょう。具体的な内容は以...

最新の MySQL 5.7.23 のインストールと設定のグラフィックチュートリアル

2018 年の最新 MySQL 5.7 の詳細なインストールと設定は 4 つのステップに分かれており...

vue3でDOMをマウントするためのプラグインを書く際の問題について

vue2と比較して、vue3にはアプリの概念が追加され、vue3プロジェクトの作成も // メイン....

Tomcat は親の委任メカニズムを破壊して Web アプリケーションの分離を実現します。

目次Tomcat クラスローダー階層WebAppクラスローダー共有クラスローダーカタリナクラスローダ...

JSに関する7つの面接の質問、あなたはいくつ正しく答えられますか

序文JavaScript では、これは関数呼び出しコンテキストです。この動作が非常に複雑であるからこ...