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

推薦する

VSCode+CMake+Clang+GCC 環境構築チュートリアル (Win10 の場合)

大学院入試に備えて、C/C++ を使って基本的なデータ構造とアルゴリズムを実装する予定です。アルゴリ...

MySQL クエリ キャッシュのグラフィカルな説明

目次1. 原則の概要クエリキャッシュシステム変数1. クエリキャッシュを持つ2. クエリキャッシュ制...

CSS3のfocus-withinセレクタの使用

擬似要素と擬似クラスところで、まずは疑似クラスセレクターと疑似要素セレクターについておさらいしておき...

WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)

目次1. 上の写真2. ユーザーが存在しない3. コードをアップロードする1. 上の写真 2. ユー...

mysql は sql ファイルを実行し、エラーを報告します エラー: 不明なストレージ エンジン 'InnoDB' ソリューション

問題を見つける最近、仕事で問題が発生しました。InnoDB タイプの SQL ファイルを実行すると、...

nginx ssl を設定して https アクセスを実装する手順 (初心者向け)

序文サーバーを展開した後、私は大きな喜びを感じながら自分の Web サイトにアクセスし、見たものすべ...

CentOS 7 での mysql 5.7 のインストール チュートリアル

1. 公式MySQL Yumリポジトリをダウンロードしてインストールする 実行ファイル: mysql...

デザイン理論: デザインにおける階層

<br />原文: http://andymao.com/andy/post/80.ht...

大規模なMySQLデータベース用のマスタースレーブシステムを構築するアイデアを共有する

今週は戦争のように忙しかったです。他人に操られているような気がします。毎日朝早く出勤して夜遅く帰り、...

TypeScript名前空間の説明

目次1. 定義と使用1.1 定義1.2 使用2. 複数のファイルに分割する3. エイリアス序文: T...

vue3.0共通コンポーネントの自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

Dockerの核となる原則であるCgroupの詳細な説明

カーネル内の強力なツール cgroup は、NameSpace によって分離されたリソースを制限でき...

Vue双方向バインディングの詳細な説明

目次1. 双方向バインディング2. 他のタグを選択した場合にも同じ結果になりますか? 答えはもちろん...

Tomcat を使用して IntelliJ IDEA によってデプロイされたプロジェクトの場所はどこですか?

IntelliJ IDEA が Tomcat を使用して Javaweb プロジェクトをデプロイし...

MySQL データベースで UTF-8 エンコードを設定する方法

/etc/my.cnf または /etc/mysql/my.cnf ファイルを変更する [クライアン...