">"コマンドの正確な名前は何ですか

">"コマンドの正確な名前は何ですか

私はすでに使用されているcontentコマンドの内容を上書きせずにいくつかのテキストをファイルに渡す方法を見つけようとしましたが、>それが何であるかわからなかったことに気づきました。検索右矢印または右V字型または以上このコマンドは何も表示しません。私はいつもそのように呼んだパス

答え1

>コマンドではなく、ファイル記述子のリダイレクトです。これは、シェルが割り当てを解決し、それをコマンドラインから削除し、それを開始する新しいプロセスの環境を変更することを意味します。新しいプロセスはコマンドラインのこの部分を認識しません。そのため、最初、最後、中などどこにでも置くことができます。

REDIRECTIONでブロックを見つけてくださいman bash

既存のファイルに追加するには>>

答え2

>リダイレクト演算子>通常のファイルにリダイレクトすると、既存のファイルが上書きされます。ノクロボ設定しました。>>ファイルの末尾に追加されます。

答え3

他の人が答えたように、>これはコマンドではなくリダイレ​​クト演算子です。ただし、「リダイレクト演算子」という用語は、具体的には意味ではなく、>さまざまな可能なリダイレクト演算子を意味します。マニュアルdashページには、次のリダイレクト演算子がリストされています。

 < > >| << >> <& >& <<- <>

誰もが有効な個人名を持っているかどうかはわかりません。古いシェルマニュアルを掘り下げてみると、おそらく興味深いものが見つかります。これ源泉正しいかどうかにかかわらず、私たちは間違いなくそれらのいくつかの名前を付けてみましょう。

>  - 'output redirection operator'
<  - 'input redirection operator'
>> - 'output append operator'

だけでなく:

2> - 'standard error redirection operator'

2しかし、技術的にはこれはパラメータであり、演算子の一部ではないため、これは正確ではないと思います。

クイックリファレンス(上記の項目のいずれも認識されない場合):

>   - redirect output stream to a file, eg >somefile (for stdout) or 2>somefile
>|  - as above but overwrite the file even if the noclobber shell option is set
>>  - append output stream to file
<   - redirect input stream from file, n defaults to 0 for stdin
<>  - open file for reading and writing on stdin
>&  - redirect output stream to another stream (eg >&1) or close with - (eg 2>&-)
<<  - here document - see http://en.wikipedia.org/wiki/Here_document
<<- - here document with leading tabs removed.

あなたの中でbashも:

<<< - here string, a one line here file. Eg <<<"foo bar"

答え4

> 出力をファイル(またはデバイス)にリダイレクトし、すでに存在する内容を上書きします。

>>すでに存在するエントリに加えて、出力をファイル(またはデバイス)にリダイレクトします。

< ファイル(またはデバイス)のデータをプログラムまたはデバイスに直接転送する

<<ここのドキュメント

関連情報