https://github.com/moznion/conk
A command-line tool that triggers command when the input (doesn't) comes from STDIN in an interval.
https://github.com/moznion/conk
Last synced: 8 months ago
JSON representation
A command-line tool that triggers command when the input (doesn't) comes from STDIN in an interval.
- Host: GitHub
- URL: https://github.com/moznion/conk
- Owner: moznion
- License: mit
- Created: 2021-10-08T03:09:18.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-19T00:05:07.000Z (about 3 years ago)
- Last Synced: 2025-04-07T07:12:15.862Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 13.7 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```
https://user-images.githubusercontent.com/1422834/136492005-e9816823-79ae-4cdb-9282-abb205039bcb.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 ()