You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.5 KiB

Argument passing format

Argument parsing can be done with short -<chars...> and/or long --arg[{=, }<value>] (with or without value, = optional. Short arguments can be chained together: -abc is equal to -a -b -c. There can be multiple of these: -ie -O is equal to -i -e -O.

TODO Long arguments

  • TODO User-set sink file path (e.g --path /path/to/sink) which overrides the default /dev/null.

Short Arguments

  • -i Replace stdin (default)
  • -o Replace stdout (default)
  • -e Replace stderr (default with feature REPLACE_STDERR)
  • -I No replace stdin
  • -O No replace stderr
  • -E No replace stderr (default without feature REPLACE_STDERR)

TODO Other options

  • TODO Specific fd passthrough (probably long arg, could also possibly be short args for std{in,out,err} streams specifically)
  • TOTO CLOEXEC control (short arg)
  • TOTO add specific fds / open specific files (optionally also at specific fds) to passthrough (probably long arg)

Examples

Short args:

$ sink -ioe cat	# sink steam in,out,err
$ sink -iOE cat	# sink stream in. keep stream out and err
$ sink -O cat	# sink default streams, but keep out
$ sink -E cat	# sink default streams and err

TODO Long args:

Redundant examples

Short args:

$ sink -iI cat	# sink default streams and in (I comes after the redundant i)
$ sink -Ii cat	# sink default streams except in (i comes after the redundant I)

TODO Long args: