Skip to content
/ conk Public

A command-line tool that triggers command when the input (doesn't) comes from STDIN in an interval.

License

Notifications You must be signed in to change notification settings

moznion/conk

Repository files navigation

conk

A command-line tool that triggers command when the input (doesn't) comes from STDIN in an interval.

Usage

$ conk -h
A command-line tool that triggers command when the input (doesn't) comes from STDIN in an interval.
If the input comes from STDIN, it fires "--on-notified-cmd" command. Elsewise, it executes "--on-not-notified-cmd".

Usage of ./conk:
   ./conk [OPTIONS]
Options
  -dry-run
        dry-run mode. if this value is true, it notifies the command was triggered, instead of executing commands.
  -interval-sec uint
        [mandatory] interval duration seconds to check the bytes that come from stdin.
  -on-not-notified-cmd string
        [semi-mandatory] command that runs on NOT notified (i.e. when bytes don't come from stdin in an interval). this must be JSON string array. it requires this value and/or "--on-notified-cmd" (default "[]")
  -on-notified-cmd string
        [semi-mandatory] command that runs on notified (i.e. when bytes come from stdin in an interval). this must be JSON string array. it requires this value and/or "--on-not-notified-cmd" (default "[]")
  -on-ticked-cmd string
        command that runs every interval. this must be JSON string array. (default "[]")
  -stdin-distinct on-notified-cmd
        if this value is true, it makes the arguments for on-notified-cmd that come from STDIN distinct (i.e. makes them unique). see also: -stdin-placeholder
  -stdin-placeholder on-notified-cmd
        placeholder name that can be used in on-notified-cmd to give the command the arguments that come from STDIN.
  -version
        show version info
Screen.Recording.2021-10-08.at.11.52.21.mov

-stdin-placeholder

-stdin-placeholder option receives a placeholder name that can be used in on-notified-cmd to give the command the arguments that come from STDIN.

For example,

$ generator | conk -interval-sec 3 -on-notified-cmd '["echo", "{{__STDIN__}}"]' -stdin-placeholder '{{__STDIN__}}'

if the generator outputs foo\nbar\nbuz\n to STDOUT in 3 seconds, the conk command interpolates those texts in {{__STDIN__}}, like `["echo", "foo", "bar", "buz"].

-stdin-distinct

-stdin-distinct option accepts the flag to instruct whether it makes the arguments for on-notified-cmd that come from STDIN distinct, i.e. makes them unique.

$ generator | conk -interval-sec 3 -on-notified-cmd '["echo", "{{__STDIN__}}"]' -stdin-placeholder '{{__STDIN__}}' -stdin-distinct

in these commands, if the generator outputs foo\nbar\nfoo\nfoo to STDOUT in 3 seconds, the conk command interpolates those texts in {{__STDIN__}} with unique arguments, like ["echo", "foo", "bar"] because foo` is duplicated.

Releases

https://github.com/moznion/conk/releases

Author

moznion (moznion@mail.moznion.net)

About

A command-line tool that triggers command when the input (doesn't) comes from STDIN in an interval.

Resources

License

Stars

Watchers

Forks

Packages

No packages published