abbtr comes as an option to the default "alias" command and it's a simple program to abbreviate long prompts in GNU/Linux terminal. You can easily set rules, delete them, list them and update them with a clear list of parameters. It should be functional in any GNU/Linux distribution.
⭐ FEATURES
Simplify your long commands in terminal
Improve your times at making repetitive tasks
You don't need to open any config file
Store, list, update and delete rules
Run your rules in bulk, i.e. abbtr <rule1> <rule2>
Import rules from a local file
Backup your rules to a local file
Feeding bottles (adding variables inside a command)
✅ PROGRAMMING LANGUAGE
abbtr is completly writen in Golang.
☑️ COMPILE YOURSELF
If you preffer to compile yourself the source code run the following commands:
git clone https://github.com/manuwarfare/abbtr.git
cd abbtr
go build -o abbtr
sudo cp abbtr /usr/bin/
Previous requirements to compile: golang ('gcc-go', 'golang-bin')
To install Golang in your system run
sudo dnf install golang
or sudo apt install golang
depending on your GNU/Linux distribution.
❓ HOW IT FUNCTIONS?
When you create a new rule it is saved as a bash script in ~/.local/bin and is executed every time you invoke it by its name.
📁 AFFECTED LOCATIONS
~/.config/abbtr: this directory is used to store the config file "abbtr.conf".
~/.local/share/abbtr: this directory is used to store the registry log "abbtr.log".
~/.local/bin: this directory is used to store the rule-scripts.
📝 CREATING RULES
First step after install the program is run abbtr -h
to know about how the script functions. Some examples to create rules in a Fedora system terminal:
abbtr -n update "sudo dnf update -y && sudo dnf upgrade -y"
this long command will run after with only type update
.
abbtr -n ssh "ssh [email protected]"
will connect to your SSH server only typing ssh
Running a block of rules is as easy as run abbtr <name1> <name2>
. This command will run two rules continuously but you can set as many as your implementation let.
📝 IMPORTING RULES
abbtr -i <file path>
will import rules from a local file.
The path must to point to a file extension, i.e: .txt, .md, .html, etc.
The stored rules must follow this syntax: b:<rule> = <command>:b
📝 EXPORTING RULES
abbtr -e
will start the backup assistant.
📝 LISTING RULES
There are two options to list the rules stored in abbtr.conf file.
abbtr -l
will list all the rules stored in abbtr.conf file.
abbtr -ln <name>
will list an specific rule.
📝 REMOVING RULES
abbtr -r <name>
will remove an specific rule.
abbtr -r a
will remove all rules stored in abbtr.conf.
📝 FEEDING BOTTLES
The feeding bottles help you adding a variable inside a command. Use only one bottle for command.
The feeding bottle syntax is this b%('bottle_name')%b
and you can add it into any part of the command.
Usage examples: abbtr -n ssh "ssh -p 2222 b%('username')%[email protected]"
Execute the rule with: ssh
and the system will prompt this:
The username is?:
If the credentials are valid, you will get connection via ssh to example.com.
You can also predefine the value of a bottle at any time, this value will be automatically applied to all the rules when you run them in bulk, to do this use the next argument -b=<variable:value>
.
Usage examples: abbtr -b=username:user1 ssh
This will run the next command: ssh -p 2222 [email protected]
🟢 Debian
🟢 Ubuntu
🟢 Linux Mint
🟢 MX Linux
🟢 Fedora
🟢 Almalinux
🟢 RockyLinux