ホームページ 運用・保守 Linuxの運用と保守 Linux での read の使用法を紹介します。

Linux での read の使用法を紹介します。

Sep 04, 2017 pm 03:38 PM
linux read 使用法

1. 基本的な読み取り

read コマンドは、標準入力 (キーボード) または他のファイル記述子 (後述) からの入力を受け取ります。入力を取得した後、読み取りコマンドはデータを標準変数に入れます。以下は、読み取りコマンドの最も単純な形式です

::

#!/bin/bash
echo -n "Enter your name:"   //参数-n的作用是不换行,echo默认是换行
read  name                   //从键盘输入
echo "hello $name,welcome to my program"     //显示信息
exit 0                       //退出shell程序。
//********************************
ログイン後にコピー

読み取りコマンドには -p パラメーターが提供されるため、読み取りコマンド ラインでプロンプトを直接指定できます。

したがって、上記のスクリプトは次のスクリプトのように短縮できます::

#!/bin/bash
read -p "Enter your name:" name
echo "hello $name, welcome to my program"
exit 0
ログイン後にコピー

上記のreadでは、read後の変数の名前は1つだけですが、複数ある場合もあります。このとき、複数のデータが入力される場合は、最初のものが使用されます。データが最初の 1 つの変数に与えられ、2 番目のデータが 2 番目の変数に与えられます。入力データが多すぎる場合は、すべての最終値が最初の変数に与えられます。入力が少なすぎると終了しません。

//********************************************* **

読み取りコマンドの行に変数を指定することはできません。変数が指定されていない場合、読み取りコマンドは受信したデータを環境変数 REPLY に配置します。

例::

read -p "数値を入力"

環境変数 REPLY には、入力されたすべてのデータが含まれます。環境変数 REPLY は、他の変数と同様にシェル スクリプトで使用できます。

2. タイミング入力。

read コマンドの使用には潜在的な危険があります。ほとんどの場合、スクリプトは停止してユーザー入力を待ちます。データが入力されているかどうかに関係なくスクリプトの実行を継続する必要がある場合は、-t オプションを使用してタイマーを指定できます。

-t オプションは、読み取りコマンドが入力を待機する秒数を指定します。タイマーが満杯になると、読み取りコマンドはゼロ以外の終了ステータスを返します

#!/bin/bash
if read -t 5 -p "please enter your name:" name
then 
echo "hello $name ,welcome to my script"
else
echo "sorry,too slow"
fi
exit 0
ログイン後にコピー

タイマーの入力に加えて、入力された文字をカウントするように読み取りコマンドを設定することもできます。入力された文字数が所定の文字数に達すると自動的に終了し、入力されたデータを変数に代入します。

#!/bin/bash
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y)
  echo "fine ,continue";;
N | n)
  echo "ok,good bye";;
*)
 echo "error choice";;
esac
exit 0
ログイン後にコピー

この例では、-n オプションの後に値 1 を使用して、1 文字を受信したらすぐに終了するように読み取りコマンドに指示しています。応答する文字を押すだけで、読み取りコマンド

が入力を受け入れて変数に渡します。 Enterを押す必要はありません。

3. サイレント読み取り (入力はモニターに表示されません)

スクリプトのユーザー入力が必要な場合がありますが、入力されたデータがモニターに表示されることは想定されていません。典型的な例はパスワードの入力ですが、もちろん他にも隠す必要のあるデータはたくさんあります。

-s オプションを使用すると、読み取りコマンドに入力されたデータをモニターに表示しないようにできます (実際にはデータは表示されますが、読み取りコマンドにより文字の色が背景と同じ色に設定されます)。

#!/bin/bash
read  -s  -p "Enter your password:" pass
echo "your password is $pass"
exit 0
ログイン後にコピー

4. ファイルを読み取る

最後に、read コマンドを使用して Linux システム上のファイルを読み取ることもできます。

read コマンドが呼び出されるたびに、ファイル内のテキストが「1 行」読み取られます。ファイルに読み取り可能な行がない場合、読み取りコマンドはゼロ以外のステータスで終了します。

ファイルの読み込みの鍵は、テキスト内のデータをどのように読み込みコマンドに渡すかです。

最も一般的な方法は、ファイルに対して cat コマンドを使用し、結果を read コマンドを含む while コマンドに直接パイプすることです

例::

#!/bin/bash
count=1    //赋值语句,不加空格
cat test | while read line        //cat 命令的输出作为read命令的输入,read读到的值放在line中
do
   echo "Line $count:$line"
   count=$[ $count + 1 ]          //注意中括号中的空格。
done
echo "finish"
exit
ログイン後にコピー

以上がLinux での read の使用法を紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

メンテナンスを停止した後のCentosの選択 メンテナンスを停止した後のCentosの選択 Apr 14, 2025 pm 08:51 PM

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosがメンテナンスを停止した後の対処方法 Centosがメンテナンスを停止した後の対処方法 Apr 14, 2025 pm 08:48 PM

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

Docker画像が失敗した場合はどうすればよいですか Docker画像が失敗した場合はどうすればよいですか Apr 15, 2025 am 11:21 AM

障害のあるDocker画像ビルドのトラブルシューティング手順:DockerFileの構文と依存関係バージョンを確認します。ビルドコンテキストに必要なソースコードと依存関係が含まれているかどうかを確認します。エラーの詳細については、ビルドログを表示します。 -targetオプションを使用して、階層フェーズを構築して障害点を識別します。 Dockerエンジンの最新バージョンを使用してください。 -t [image-name]:デバッグモードで画像を作成して、問題をデバッグします。ディスクスペースを確認し、十分であることを確認してください。 Selinuxを無効にして、ビルドプロセスへの干渉を防ぎます。コミュニティプラットフォームに助けを求め、DockerFilesを提供し、より具体的な提案のためにログの説明を作成します。

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

See all articles