ホームページ  >  記事  >  運用・保守  >  Linuxの実行操作ファイル記述子

Linuxの実行操作ファイル記述子

ringa_lee
ringa_leeオリジナル
2017-06-23 11:21:352404ブラウズ

Linux で開いているすべてのファイルは、ファイル記述子に関連付けられています。必要に応じて、exec コマンドを使用して、ファイルとして 3 より大きい数値を指定できます

Linux のデフォルトのファイル記述子

シェルが開かれるたびに、デフォルトの 3 が使用されます。ファイルが開かれます。 記述子は 0、1、2 を表し、それぞれ標準入力、標準出力、標準エラー出力を表します。

Execコマンド関連ファイル記述子

exec 5>/tmp/a.txt読み込みメソッド
exec 5exec 5exec 5<&-;exec5>&- ファイル記述子を閉じます

応用例: シェルスクリプトの標準出力を再度関連付けて、指定したファイルにログを記録します

#!/bin/bash
exec 4>&1         #用4记录标准输出
exec 1>/tmp/abc   #重定向标准输出
echo "123"
echo "456"
exec 1>&4         #恢复标准输出
exec 4>&-         #关闭4

このスクリプトを実行すると、スクリプト内のエコー出力が出力されます/tmp に /abc ファイルの
スクリプトの 2 行目では、4>&1 を使用して標準出力のファイル記述子を記録し、実行後に標準出力に復元できるようにします。 use exec 1>/dev/tty

注:

  1. echo "hello" >&4 ファイル記述子にコンテンツを入力するには、>> は使用しません。ファイルをクリアするかどうかは、ファイルを入力するときに > または >> を使用します。スクリプトを実行するたびに、/tmp/abc ファイルの は 123n456 になります。2 行目を exec 4> ;>に置き換えると、/tmp/abc が追加されます


  2. ファイルのクリア操作が実行されます。 execコマンドの実行中


以上がLinuxの実行操作ファイル記述子の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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