File: README.md

package info (click to toggle)
abbtr 1.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 108 kB
  • sloc: makefile: 36
file content (131 lines) | stat: -rwxr-xr-x 3,809 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# abbtr
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)


:white_check_mark: **PROGRAMMING LANGUAGE**

abbtr is completly writen in Golang.


:ballot_box_with_check: **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.


:question: **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.

:file_folder: **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.

:pencil: **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 user@example.com"` 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.

:pencil: **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`

:pencil: **EXPORTING RULES**

  `abbtr -e` will start the backup assistant.

:pencil: **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.

:pencil: **REMOVING RULES**

  `abbtr -r <name>` will remove an specific rule.

  `abbtr -r a` will remove all rules stored in abbtr.conf.

:pencil: **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')%b@example.com"`

  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 user1@example.com`


# 🤖 **TESTED ON**

🟢 Debian

🟢 Ubuntu

🟢 Linux Mint

🟢 MX Linux

🟢 Fedora

🟢 Almalinux

🟢 RockyLinux