🌀 options for Bash.
Project description
🌀 blue-options
🌀 blue_options
implements an options
argument for Bash.
here is an example use of an options
in the vancouver-watching 🌈 ingest command:
> vanwatch help
vanwatch ingest \
area=<vancouver>,~batch,count=<-1>,dryrun,gif,model=<model-id>,~process,publish,~upload \
-|<object-name> \
[<args>]
. ingest <area> -> <object-name>.
this command takes in an options
, an object
, and args
. an options
is a string representation of a dictionary, such as,
area=<vancouver>,~batch,count=<-1>,dryrun,gif,model=<model-id>,~process,publish,~upload
which is equivalent, in json notation, to,
{
"area": "vancouver",
"batch": false,
"count": -1,
"dryrun": true,
"gif": true,
"model": "<model-id>",
"process": false,
"publish": true,
"upload": false,
}
for more refer to 🔻 giza.
installation
pip install blue_options
add this line to your ~/.bash_profile
or ~/.bashrc
,
source $(python -m blue_options locate)/.bash/blue_options.sh
usage
let your function receive an options
argument, then parse it with abcli_options
and abcli_options_int
.
function func() {
local options=$1
local var=$(abcli_options "$options" var default)
local key=$(abcli_options_int "$options" key 0)
[[ "$key" == 1 ]] &&
echo "var=$var"
}
example 1
from reddit
How can I automate these tree commands I frequently need to type out? I would like to run:
git add .
git commit -m "Initial "commit"
git push
I got bored of typing them out each time. Can I make an alias or something like "gc" (for git commit). The commit message is always the same "Initial commit".
first, install blue-options
. this will also install blueness
.
pip install blue_options
then, copy example1.sh
to your machine and add this line to the end of your bash_profile
,
source <path/to/example1.sh>
now, you have access to the @git
super command. here is how it works.
@git help
shows usage instructions (see below).@git commit
runs the three commands. you can customize the message by running@git commit <message>
. you can also avoid the push by running@git commit <message> ~push
.- for any
<task>
other thancommit
,@git <task> <args>
runsgit <task> <args>
.
> @git help
@git commit [<message>] \
~push
. git commit with <message> and push.
@git <command>
. git <command>.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file blue_options-4.87.1.tar.gz
.
File metadata
- Download URL: blue_options-4.87.1.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a05fc0ba000ecd1ff02a617de77c565881a5a8fe288eb4d0e2bdc2406b439b3 |
|
MD5 | 2896161aa773e1bf56ab9c197fb57a26 |
|
BLAKE2b-256 | 827b40894f7946887f858942b31f127a9aa4b5b57ed67d2e5f5129e9f123c09f |
File details
Details for the file blue_options-4.87.1-py3-none-any.whl
.
File metadata
- Download URL: blue_options-4.87.1-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae53a95b29ed8d5e92e5b97de1cb14b31835f6193d6bcdb1e4c1d06cd3c7e293 |
|
MD5 | 3279ddc9cffec30005f57b7284ce5778 |
|
BLAKE2b-256 | e4b5909d0247e524562ee6db9d5bfc292e181e9bc163f2638e86f9e00384e83f |