目次
1.三个标准
2.常用例子
ホームページ データベース mysql チュートリアル shell 重定向&>file 2>&1 1>

shell 重定向&>file 2>&1 1>

Jun 07, 2016 pm 03:20 PM
amp file shell オペレーティング·システム 標準 リダイレクト

1.三个标准 操作系统约定,stdin stdout stderr分别对应0 ,1,2. 在shell脚本中,经常会涉及输出重定向的问题: 比如./myscript outpufile,其中 file 等价于 1 file,就是吧输出重定向到文件中。 对应的,21 是吧标准错误重定向到标准输出 而file是把标准输

1.三个标准


操作系统约定,stdin   stdout  stderr分别对应0 ,1,2.

在shell脚本中,经常会涉及输出重定向的问题:

比如./myscript > outpufile,其中> file  等价于 1> file,就是吧输出重定向到文件中。

对应的,2>&1 是吧标准错误重定向到标准输出

而&>file是把标准输出和标准错误重定向到file


2.常用例子


n>&m表示使文件描述符n成为输出文件描述符m的副本。这样做的好处是,有的时候你查找文件的时候很容易产生无用的信息,如:2> /dev/null的作用就是不显示标准错误输出;另外当你运行某些命令的时候,出错信息也许很重要,便于你检查是哪出了毛病,如:2>&1
例如:
注意,为了方便理解,必须设置一个环境使得执行grep da *命令会有正常输出和错误输出,然后分别使用下面的命令生成三个文件:
grep da * > greplog1
grep da * > greplog2 1>&2   
grep da * > greplog3 2>&1  //grep da * 2> greplog4 1>&2 结果一样
#查看greplog1会发现里面只有正常输出内容
#查看greplog2会发现里面什么都没有

#查看greplog3会发现里面既有正常输出内容又有错误输出内容


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

C言語のcharとwchar_tの違い C言語のcharとwchar_tの違い Apr 03, 2025 pm 03:09 PM

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

cマルチスレッドの3つの実装方法の違いは何ですか cマルチスレッドの3つの実装方法の違いは何ですか Apr 03, 2025 pm 03:03 PM

マルチスレッドは、コンピュータープログラミングの重要なテクノロジーであり、プログラムの実行効率を改善するために使用されます。 C言語では、スレッドライブラリ、POSIXスレッド、Windows APIなど、マルチスレッドを実装する多くの方法があります。

C言語で有用なヌル C言語で有用なヌル Apr 03, 2025 pm 12:03 PM

nullは、nullポインターを表すC言語の特別な値であり、ポインター変数が有効なメモリアドレスを指していないことを識別するために使用されます。 nullを理解することは、プログラムのクラッシュを回避し、コードの堅牢性を確保するのに役立つため、非常に重要です。一般的な使用法には、パラメーターチェック、メモリ割り当て、および機能設計のオプションパラメーターが含まれます。 nullを使用する場合は、ポインターのぶら下がりやnullのチェックを忘れるなどのエラーを避け、効率的なnullチェックを実行し、コードのパフォーマンスと読みやすさを最適化するために命名をクリアするように注意する必要があります。

ラブコードのコピーをコピーして貼り付けて無料でラブコードを貼り付けます ラブコードのコピーをコピーして貼り付けて無料でラブコードを貼り付けます Apr 04, 2025 am 06:48 AM

コードのコピーと貼り付けは不可能ではありませんが、注意して扱う必要があります。コード内の環境、ライブラリ、バージョンなどの依存関係は、現在のプロジェクトと一致しないため、エラーや予測不可能な結果が得られます。ファイルパス、従属ライブラリ、Pythonバージョンなど、コンテキストが一貫していることを確認してください。さらに、特定のライブラリのコードをコピーして貼り付けるときは、ライブラリとその依存関係をインストールする必要がある場合があります。一般的なエラーには、パスエラー、バージョンの競合、一貫性のないコードスタイルが含まれます。パフォーマンスの最適化は、コードの元の目的と制約に従って再設計またはリファクタリングする必要があります。コピーされたコードを理解してデバッグすることが重要であり、盲目的にコピーして貼り付けないでください。

錆がわからない場合は、タウリを使用してデスクトップアプリケーションを開発できますか? 錆がわからない場合は、タウリを使用してデスクトップアプリケーションを開発できますか? Apr 04, 2025 pm 11:42 PM

タウリフレームワークの下でのデスクトッププログラム開発に対する錆言語習熟度の影響タウリは、その軽量と...のおかげでさびを使用して構築されたデスクトップアプリケーション開発フレームワークです

c言語条件付き編集:初心者向けの詳細なガイドへの実践的なアプリケーション c言語条件付き編集:初心者向けの詳細なガイドへの実践的なアプリケーション Apr 04, 2025 am 10:48 AM

c言語条件付きコンパイルは、コンパイル時間条件に基づいてコードブロックを選択的にコンパイルするメカニズムです。導入方法には、#IFおよび#ELSEディレクティブを使用して、条件に基づいてコードブロックを選択します。一般的に使用される条件付き式には、STDC、_WIN32、Linuxが含まれます。実用的なケース:オペレーティングシステムに従って異なるメッセージを印刷します。システムの数字数に応じて異なるデータ型を使用します。コンパイラに応じて、異なるヘッダーファイルがサポートされています。条件付きコンパイルにより、コードの移植性と柔軟性が向上し、コンパイラ、オペレーティングシステム、CPUアーキテクチャの変更に適応できます。

非同期とマルチスレッドの違いは何ですか 非同期とマルチスレッドの違いは何ですか Apr 03, 2025 pm 02:48 PM

非同期およびマルチスレッドは、C#のまったく異なる概念です。非同期的にタスクの実行順序に注意を払い、マルチスレッドは並行してタスクの実行に注意を払います。非同期操作タスクの実行を調整することで現在のスレッドをブロックしないでください。一方、マルチスレッドは新しいスレッドを作成することで並行してタスクを実行します。非同期はI/O集約型タスクにより適していますが、マルチスレッドはCPU集約型タスクにより適しています。実際のアプリケーションでは、プログラムのパフォーマンスを最適化するために、非同期およびマルチスレッドがよく使用されます。デッドロック、非同期の過度の使用、およびスレッドプールの合理的な使用を避けるために注意してください。

See all articles