特定のコマンドを入力すると、次のような出力が表示されることがあります。
>
>
>
>
> 記号は正確には何を指していますか。
答え1
あなたの場合
この場合の「>」記号は、ターミナルがキーを押した後にさらに入力を求めていることを意味します。入力鍵。
あなたの場合、閉じられていない文字列があります。たとえば、次のコマンドを入力してecho "Hello
Enter キーを押すと、文字列を閉じるまで ">" が表示されます。例:
次のように入力すると:
eric@Ubuntu: /home/eric$ echo "Hello
>what?
>single quotes won't close it?'
>but double quotes will! "
次のような出力が出力されます。
Hello
what?
single quotes won't close it?'
but double quotes will! "
これにより、改行文字「\n」を明示的に入力しなくても、1 つの文字列を複数行にまたがって使用できるようになります。
追加情報
このプロンプトには ">" が出力され、環境変数によって他の何かが設定されていないという事実$PS2
。他の何かに設定すると$PS2
、その内容がプロンプトに表示されます。
このプロンプトを表示する別の方法は、行末にバックスラッシュ ("\") を置くことです。基本的に 2 つの行を連結するので、たとえば次の 2 行は次のようになります。
eric@Ubuntu: /home/eric$echo "Hello \
>There my friend"
は として処理されeric@Ubuntu: /home/eric$echo "Hello There my friend"
、 のみが出力されますHello There my friend
。
これら 2 つの方法は、コードをより読みやすい形式にフォーマットするために使用されます。最初の数回は何が原因かよくわからないためイライラするかもしれませんが、長いコードやコードの出力を読みやすくしようとするときには、どちらも役立ちます。
答え2
パイプはファイルに情報を追加するためにも使用できます。たとえば、ターミナルで次のように入力するとします。
echo "Test Line" > test.txt
これにより、test.txt ファイルの内容が、末尾に改行文字が付いた「Test Line」に設定されます。ファイルがまだ存在しない場合は作成されます。
echo "Test Line" >> test.txt
これにより、test.txt ファイルが存在する場合は、その末尾に「テスト行」と改行文字が追加されます。存在しない場合は、空のファイルが作成され、この行が追加されます。
答え3
>
ストリームをリダイレクトすることを意味します
>>
リダイレクトすることを意味しますが、最後に
それは次の場合にのみ適用されます標準出力
2>
一方、標準エラー出力明らかに、 を使用すること1>
は>
標準出力通常のプログラム出力は、標準エラー出力プログラムのエラー出力です。つまり、出力は2つあります。2つの出力をリダイレクトするには、&>