ファイルパラメータの「-」とはどういう意味ですか? [コピー]

ファイルパラメータの「-」とはどういう意味ですか? [コピー]

-パイプされたbashコマンドのコンテキストでロール名が見つかりません。

  1. キャラクター名は何ですか-
  2. スクリプトでより読みやすいものに変更できますか?

コマンド例:

echo -ne "my command" | socat - /dev/somefile

答え1

ここではこれは関数では-ありません。によると:bashsocatman socat

ADDRESS SPECIFICATIONS
...
For some keywords there ex‐ist synonyms (’-’ for STDIO, TCP for TCP4).
...
EXAMPLES
       socat - TCP4:www.domain.org:80

              transfers data between STDIO (-) and a TCP4 connection to port  80  of  host  www.do‐
              main.org. This example results in an interactive connection similar to telnet or net‐
              cat.  The  stdin terminal parameters are not changed, so you may close the relay with
              ^D or abort it with ^C.

これは-STDIOを意味します。
私はsocat以前にそれを使ったことがありませんが、キーボードで話すことで何かを入力し、入力した内容がに送信されsocat - TCP4:www.domain.org:80、そのアドレスから受信した内容が端末に印刷されることを推測できます。www.domain.org:80www.domain.org:80

-主にstdinを表す他のプログラムでも見ることができます。

答え2

この-文字は、「ダッシュ」、「ハイフン」、「マイナス記号」などの意味でよく使用されます。私は多くの人がそれを「tac」または「tack」と呼ぶことを聞きました。

ファイル名の代わりに引数として使用することは、通常、標準入力または標準出力を使用することを意味します。たとえば、cat - > myfile標準入力(パイプで入力したり、端末に入力)に送信したりするすべての内容は、新しく作成されたというファイルに保存されますmyfile

しかし、これは一般的ではありません。このmanページをチェックして、使用しているツールがこの慣用語をサポートしていることを確認してください。

関連情報