Skip to content

kennycason/call

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Call

Aliases made simple. A command line tool to organize commonly used commands/tasks. Written in Kotlin.

brew install https://raw.githubusercontent.com/kennycason/call/master/script/brew/call.rb

Usage

Add Command

Add a command to your local library.

Example:

# add single commands
call add l "ls -l"
call add api-status "curl -I https://api.datarank.com 2>/dev/null | head -n 1 | cut -d$' ' -f2"
call add storm-up "ansible-playbook deploy-storm.yml -i inventory/production -vvvv --private-key=keys/id_deployer -u deployer"
call add cluster-size "curl -s whale01.ttagg.com:9200/topic-*/_search | jq .hits.total"

# import library from url
call add https://raw.githubusercontent.com/kennycason/call/master/src/main/resources/com/kennycason/call/library/.call.library.sample.json

# import library from file
call add ~/.call.library.backup.json

Add a command with parameter placeholders via the @{} syntax

# add command with parameter placeholder 
call add l "ls -l @{1}"

# run command
call l /tmp/

Remove Command

Remove a command from your local library.

Example:

call remove api-status
call remove maelstrom-up

Run Command

Run one command with none or more arguments To run multiple commands simply append each command. e.g.

call command [arg1 args2 ...]

Example with sample output:

> call api-status
200
> call cluster-size
1340411047

Example of passing in a single parameter

> call add api-status "curl -I @{1} 2>/dev/null | head -n 1 | cut -d$' ' -f2"
> call api-status http://api.datarank.com
200

Help

Prints a usage message. Help welcomed :)

call help

List

Prints a list of all commands and their definitions

call list

Install

Brew Install

brew install https://raw.githubusercontent.com/kennycason/call/master/script/brew/call.rb

Install (via Bash Script)

A helper script has been added to install Run. Java is required to run. The install is a single a jar from Maven Central.

bash <(curl -s https://raw.githubusercontent.com/kennycason/call/master/script/install.sh)

Maven Install (To include in other code)

<dependency>
    <groupId>com.kennycason</groupId>
    <artifactId>call</artifactId>
    <version>1.0</version>
</dependency>

After installation the command name is call

Coming Soon

  • Sorting by frequency used
  • Recording stats: usage count, responses, etc
  • Better handling of library add/remove features. e.g. force-overwrite, etc

Library File Format [~/.call.library.json]

Currently there is only a bare-bone format defined.

{
    "version": 1.0,
    "commands": [
        {
            "command": "l",
            "definition": "ls -l",
        }
    ]
}

Notes

Currently Run depends on Bash to execute all commands. Commands are stored in the local json file: ~/.call.library.json

Command Fun

Infinite Loop via Run!

> call add call "call call"
command [call] added.
        call call
>call call

About

Run - Aliases made easy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages