"i3 --help" 명령의 출력은 grepable이 아닙니다.

"i3 --help" 명령의 출력은 grepable이 아닙니다.

입력하면 i3 --help다음과 같은 결과가 나타납니다.

Usage: i3 [-c configfile] [-d all] [-a] [-v] [-V] [-C]

-a          disable autostart ('exec' lines in config)
-c <file>   use the provided configfile instead
-C          validate configuration file and exit
-d all      enable debug output
-L <file>   path to the serialized layout during restarts
-v          display version and exit
-V          enable verbose mode

--force-xinerama
Use Xinerama instead of RandR.
This option should only be used if you are stuck with the
old nVidia closed source driver (older than 302.17), which does
not support RandR.

--get-socketpath
Retrieve the i3 IPC socket path from X11, print it, then exit.

--shmlog-size <limit>
Limits the size of the i3 SHM log to <limit> bytes. Setting this
to 0 disables SHM logging entirely.
The default is 0 bytes.

If you pass plain text arguments, i3 will interpret them as a command
to send to a currently running i3 (like i3-msg). This allows you to
use nice and logical commands, such as:

i3 border none
i3 floating toggle
i3 kill window

지금까지 접한 다른 명령과 마찬가지로 이러한 옵션의 출력은 항상 또는 --help같은 두 번째 명령을 통해 grep파이프되고 구문 분석 될 수 cat있으며 여기서 이를 확인했습니다.

i3 --help출력이 왜 이렇게 되지 않는지 아시나요 ? 나는 파일 설명자에 관해서는 정말 멍청하지만 그것이 파일 설명자와 관련이 있다는 느낌이 듭니다. 그런데 이것을 확인하려면 어디로 가야할지 모르겠습니다.

답변1

아마도 이 명령은 출력을 STDERR로 보냅니다. 다음과 같이 grep할 수 있습니다.

i3 --help 2>&1|grep string

이렇게 하면 2>&1STDERR(파일 처리기 2)의 출력이 STDOUT(파일 처리기 1)으로 리디렉션됩니다.

관련 정보