Commit 6e48b6a9764c26bce488951cde1d7cd702a3f79e

Authored by Georg Hopp
1 parent 83d7e0ff

some cleanups in generated README.md

Showing 1 changed file with 73 additions and 247 deletions
1 -man  
2 -===  
3 -  
4 -[NAME](#NAME)  
5 - [SYNOPSIS](#SYNOPSIS)  
6 - [DESCRIPTION](#DESCRIPTION)  
7 - [OPTIONS](#OPTIONS)  
8 - [ENVIRONMENT](#ENVIRONMENT)  
9 - [DEPENDENCIES](#DEPENDENCIES)  
10 - [SEE ALSO](#SEE%20ALSO)  
11 - [BUGS](#BUGS)  
12 - [AUTHOR](#AUTHOR)  
13 - [COPYRIGHT](#COPYRIGHT) 1 +# accountmanager.sh
14 2
15 ------------------------------------------------------------------------ 3 ------------------------------------------------------------------------
16 4
17 -NAME  
18 ----- 5 +## NAME
19 6
20 accountmanager.sh − source all functionality into the current shell 7 accountmanager.sh − source all functionality into the current shell
21 8
22 General purpose functions: 9 General purpose functions:
23 - random − create a non blocking stream of random data on stdout  
24 - rand\_printable − create a random string a printable characters 10 + - random − create a non blocking stream of random data on stdout
  11 + - rand\_printable − create a random string a printable characters
25 12
26 Database management functions: 13 Database management functions:
27 - amngrdbinit − initialize the SQLite account database  
28 - amngrdbdestroy − remove the SQLite account database 14 + - amngrdbinit − initialize the SQLite account database
  15 + - amngrdbdestroy − remove the SQLite account database
29 16
30 Account management functions: 17 Account management functions:
31 - amngradd − add an account credential to the database  
32 - amngrcreate − create a new account credential to the database  
33 - amngrcrypt − crypt the given data with GnuPG  
34 - amngrdelete − delete an account  
35 - amngrgen − generate a encrypted random passphrase  
36 - amngrgetoldpass − copy previous password of account to X clipboard  
37 - amngrgetolduser − copy previous username of account to X clipboard  
38 - amngrgetpass − copy active password of account to X clipboard  
39 - amngrgetuser − copy active username of account to X clipboard  
40 - amngrid − write the database id of a given account name to stdout  
41 - amngrlist − list all accounts  
42 - amngrrename − rename an account  
43 - amngrsearch − pattern search accounts  
44 -  
45 -SYNOPSIS  
46 --------- 18 + - amngradd − add an account credential to the database
  19 + - amngrcreate − create a new account credential to the database
  20 + - amngrcrypt − crypt the given data with GnuPG
  21 + - amngrdelete − delete an account
  22 + - amngrgen − generate a encrypted random passphrase
  23 + - amngrgetoldpass − copy previous password of account to X clipboard
  24 + - amngrgetolduser − copy previous username of account to X clipboard
  25 + - amngrgetpass − copy active password of account to X clipboard
  26 + - amngrgetuser − copy active username of account to X clipboard
  27 + - amngrid − write the database id of a given account name to stdout
  28 + - amngrlist − list all accounts
  29 + - amngrrename − rename an account
  30 + - amngrsearch − pattern search accounts
  31 +
  32 +## SYNOPSIS
47 33
48 source **${PATH}/accountmanager.sh** 34 source **${PATH}/accountmanager.sh**
49 35
@@ -55,10 +41,10 @@ source **${PATH}/accountmanager.sh** @@ -55,10 +41,10 @@ source **${PATH}/accountmanager.sh**
55 41
56 **amngrdbdestroy** \[*dbfile*\] 42 **amngrdbdestroy** \[*dbfile*\]
57 43
58 -**amngradd -u** *username* **-p** *password* \[**-d** *description*\] 44 +**amngradd** **-u** *username* **-p** *password* \[**-d** *description*\]
59 \[**-D** *dbfile*\] \[**-r** *recipient*\] *account* 45 \[**-D** *dbfile*\] \[**-r** *recipient*\] *account*
60 46
61 -**amngrcreate -u** *username* \[**-d** *description*\] \[**-D** 47 +**amngrcreate** **-u** *username* \[**-d** *description*\] \[**-D**
62 *dbfile*\] \[**-r** *recipient*\] *account* 48 *dbfile*\] \[**-r** *recipient*\] *account*
63 49
64 **amngrcrypt** \[**-r** *recipient*\] *password* 50 **amngrcrypt** \[**-r** *recipient*\] *password*
@@ -83,35 +69,22 @@ source **${PATH}/accountmanager.sh** @@ -83,35 +69,22 @@ source **${PATH}/accountmanager.sh**
83 69
84 **amngrsearch** \[**-s** *separator*\] *pattern* 70 **amngrsearch** \[**-s** *separator*\] *pattern*
85 71
86 -DESCRIPTION  
87 ------------ 72 +## DESCRIPTION
88 73
89 This file can either be source into the current shell or used as a 74 This file can either be source into the current shell or used as a
90 standalone shell script via the provided symlinks. When used as 75 standalone shell script via the provided symlinks. When used as
91 standalone script it will detect the function to call by the content of 76 standalone script it will detect the function to call by the content of
92 -**$0**.  
93 - All *account* as well as all *username* arguments used below are 77 +**$0**.
  78 +
  79 +All *account* as well as all *username* arguments used below are
94 limited to 128 characters. The *account* argument is always a unique 80 limited to 128 characters. The *account* argument is always a unique
95 string identifier for the account to manage. The *username* argument is 81 string identifier for the account to manage. The *username* argument is
96 the username part of a credential which is a (*username*, *password*) 82 the username part of a credential which is a (*username*, *password*)
97 pair. 83 pair.
98 84
99 -<table>  
100 -<colgroup>  
101 -<col width="25%" />  
102 -<col width="25%" />  
103 -<col width="25%" />  
104 -<col width="25%" />  
105 -</colgroup>  
106 -<tbody>  
107 -<tr class="odd">  
108 -<td align="left"></td>  
109 -<td align="left"><p><strong>random</strong></p></td>  
110 -<td align="left"></td>  
111 -<td align="left"><p>Takes no arguments and connect a non blocking random source to stdout.</p></td>  
112 -</tr>  
113 -</tbody>  
114 -</table> 85 +**random**
  86 +
  87 +Takes no arguments and connect a non blocking random source to stdout.
115 88
116 **rand\_printable** \[*len*\] 89 **rand\_printable** \[*len*\]
117 90
@@ -121,7 +94,7 @@ to 255, single and double quotes are filtered. The single and double @@ -121,7 +94,7 @@ to 255, single and double quotes are filtered. The single and double
121 quotes are filtered to prevent problems when they are used as string 94 quotes are filtered to prevent problems when they are used as string
122 separators after shell expansion as in the SQL here documents used to 95 separators after shell expansion as in the SQL here documents used to
123 communicate with the SQLite database. 96 communicate with the SQLite database.
124 - The optional *len* argument specifies the string length to be written 97 +The optional *len* argument specifies the string length to be written
125 and defaults to 512. 98 and defaults to 512.
126 99
127 **amngrdbinit** \[*dbfile*\] 100 **amngrdbinit** \[*dbfile*\]
@@ -137,8 +110,7 @@ given it specifies the fill path to the file to use, else the value of @@ -137,8 +110,7 @@ given it specifies the fill path to the file to use, else the value of
137 **$AMNGRDB** environment variable is used. 110 **$AMNGRDB** environment variable is used.
138 111
139 **amngradd -u** *username* **-p** *password* \[**-d** *description*\] 112 **amngradd -u** *username* **-p** *password* \[**-d** *description*\]
140 -\[**-D** *dbfile*\] \[**-r** *  
141 - recipient*\] *account* 113 +\[**-D** *dbfile*\] \[**-r** *recipient*\] *account*
142 114
143 Adds an account credential and marks it as active. If the account 115 Adds an account credential and marks it as active. If the account
144 already exist, the credential (*username* and *password*) is added to 116 already exist, the credential (*username* and *password*) is added to
@@ -146,28 +118,27 @@ that account and the previously added credential is marked as old. If @@ -146,28 +118,27 @@ that account and the previously added credential is marked as old. If
146 there was another even older credential that was already marked as old 118 there was another even older credential that was already marked as old
147 this will be marked as inactive and this becomes inaccessible with this 119 this will be marked as inactive and this becomes inaccessible with this
148 tools (except for **amngrdelete**). 120 tools (except for **amngrdelete**).
149 - The necessary option **-u** specifies the username to be stored with 121 +The necessary option **-u** specifies the username to be stored with
150 this credential pair. 122 this credential pair.
151 - The also necessary option **-p** specifies the password to be stored 123 +The also necessary option **-p** specifies the password to be stored
152 and the length of *password* is not limited at all. 124 and the length of *password* is not limited at all.
153 - With option **-d** one can add a *description* to the account entry. 125 +With option **-d** one can add a *description* to the account entry.
154 One can specify the *dbfile* with the option **-D** if that option is 126 One can specify the *dbfile* with the option **-D** if that option is
155 not given the **$AMNGRDB** environment variable is used. 127 not given the **$AMNGRDB** environment variable is used.
156 128
157 **amngrcreate -u** *username* \[**-d** *description*\] \[**-D** 129 **amngrcreate -u** *username* \[**-d** *description*\] \[**-D**
158 -*dbfile*\] \[**-r** *recipient*\] *  
159 - account* 130 +*dbfile*\] \[**-r** *recipient*\] *account*
160 131
161 This will create a password with **amngrgen** and use that to add an 132 This will create a password with **amngrgen** and use that to add an
162 credential via **amngradd**. (See there for options description) 133 credential via **amngradd**. (See there for options description)
163 - The added password will be copied to the X clipboard with 134 +The added password will be copied to the X clipboard with
164 **amngrgetpass** for further use. 135 **amngrgetpass** for further use.
165 136
166 **amngrcrypt** \[**-r** *recipient*\] *password* 137 **amngrcrypt** \[**-r** *recipient*\] *password*
167 138
168 Crypt the given plain text *password* with GnuPG and write it to 139 Crypt the given plain text *password* with GnuPG and write it to
169 stdout. 140 stdout.
170 - The option **-r** specifies the recipient to use with the call to 141 +The option **-r** specifies the recipient to use with the call to
171 **gpg**. If it is not given the value of the **$AMNGRID** environment 142 **gpg**. If it is not given the value of the **$AMNGRID** environment
172 variable is used. 143 variable is used.
173 144
@@ -224,62 +195,23 @@ List accounts where *pattern* exists in either the account name, the @@ -224,62 +195,23 @@ List accounts where *pattern* exists in either the account name, the
224 username or the account description. The output is like the one 195 username or the account description. The output is like the one
225 described with **amngrlist**. 196 described with **amngrlist**.
226 197
227 -OPTIONS  
228 -------- 198 +## OPTIONS
229 199
230 The options are consistent over all sub commands. However not all sub 200 The options are consistent over all sub commands. However not all sub
231 commands use all options and some sub commands take arguments that other 201 commands use all options and some sub commands take arguments that other
232 get per option. (See **DESCRIPTION**) 202 get per option. (See **DESCRIPTION**)
233 203
234 -<table>  
235 -<colgroup>  
236 -<col width="25%" />  
237 -<col width="25%" />  
238 -<col width="25%" />  
239 -<col width="25%" />  
240 -</colgroup>  
241 -<tbody>  
242 -<tr class="odd">  
243 -<td align="left"></td>  
244 -<td align="left"><p><strong>-u</strong></p></td>  
245 -<td align="left"></td>  
246 -<td align="left"><p>The login username of the credential for the account.</p></td>  
247 -</tr>  
248 -<tr class="even">  
249 -<td align="left"></td>  
250 -<td align="left"><p><strong>-p</strong></p></td>  
251 -<td align="left"></td>  
252 -<td align="left"><p>The plain text password of the credential for the account.</p></td>  
253 -</tr>  
254 -<tr class="odd">  
255 -<td align="left"></td>  
256 -<td align="left"><p><strong>-d</strong></p></td>  
257 -<td align="left"></td>  
258 -<td align="left"><p>The description for the account.</p></td>  
259 -</tr>  
260 -<tr class="even">  
261 -<td align="left"></td>  
262 -<td align="left"><p><strong>-D</strong></p></td>  
263 -<td align="left"></td>  
264 -<td align="left"><p>Select the database file to use instead of the one defined in the <strong>$AMNGRDB</strong> environment variable.</p></td>  
265 -</tr>  
266 -<tr class="odd">  
267 -<td align="left"></td>  
268 -<td align="left"><p><strong>-r</strong></p></td>  
269 -<td align="left"></td>  
270 -<td align="left"><p>Select a recipient id for GnuPG encryption to use instead of the one defined in the <strong>$AMNGRID</strong> environment variable.</p></td>  
271 -</tr>  
272 -<tr class="even">  
273 -<td align="left"></td>  
274 -<td align="left"><p><strong>-s</strong></p></td>  
275 -<td align="left"></td>  
276 -<td align="left"><p>The column separator for the <strong>amngrlist</strong> and <strong>amngrsearchcommands.</strong></p></td>  
277 -</tr>  
278 -</tbody>  
279 -</table>  
280 -  
281 -ENVIRONMENT  
282 ------------ 204 + - **-u** The login username of the credential for the account.
  205 + - **-p** The plain text password of the credential for the account.
  206 + - **-d** The description for the account.
  207 + - **-D** Select the database file to use instead of the one defined in the
  208 + **$AMNGRDB** environment variable.
  209 + - **-r** Select a recipient id for GnuPG encryption to use instead of the one
  210 + defined in the **$AMNGRID** environment variable.
  211 + - **-s** The column separator for the **amngrlist** and
  212 + **amngrsearchcommands**.
  213 +
  214 +## ENVIRONMENT
283 215
284 **AMNGRDB** 216 **AMNGRDB**
285 217
@@ -298,8 +230,7 @@ option. @@ -298,8 +230,7 @@ option.
298 230
299 The password length to be used when generating new passwords. 231 The password length to be used when generating new passwords.
300 232
301 -DEPENDENCIES  
302 ------------- 233 +## DEPENDENCIES
303 234
304 A set of POSIX compliant shell utilities including a POSIX compliant 235 A set of POSIX compliant shell utilities including a POSIX compliant
305 shell as well are needed to run this script. 236 shell as well are needed to run this script.
@@ -313,150 +244,45 @@ The existence of a reliable non blocking random source. By default this @@ -313,150 +244,45 @@ The existence of a reliable non blocking random source. By default this
313 scripts use **$(cat /dev/urandom)** which can be changed by replacing 244 scripts use **$(cat /dev/urandom)** which can be changed by replacing
314 the alias **random** with something useful for your system. 245 the alias **random** with something useful for your system.
315 246
316 -For data storage **Sqlite &gt;= 3.6.19** is required. The version 247 +For data storage **Sqlite >= 3.6.19** is required. The version
317 requirement comes from the use of foreign key constraints. 248 requirement comes from the use of foreign key constraints.
318 249
319 To store the data within the X clipboard the **xclip** is needed. 250 To store the data within the X clipboard the **xclip** is needed.
320 251
321 **The tools used are** 252 **The tools used are**
322 253
323 -<table>  
324 -<colgroup>  
325 -<col width="20%" />  
326 -<col width="20%" />  
327 -<col width="20%" />  
328 -<col width="20%" />  
329 -<col width="20%" />  
330 -</colgroup>  
331 -<tbody>  
332 -<tr class="odd">  
333 -<td align="left"></td>  
334 -<td align="left"><p></p></td>  
335 -<td align="left"></td>  
336 -<td align="left"><p><strong>awk</strong></p></td>  
337 -<td align="left"></td>  
338 -</tr>  
339 -<tr class="even">  
340 -<td align="left"></td>  
341 -<td align="left"><p></p></td>  
342 -<td align="left"></td>  
343 -<td align="left"><p><strong>basename</strong></p></td>  
344 -<td align="left"></td>  
345 -</tr>  
346 -<tr class="odd">  
347 -<td align="left"></td>  
348 -<td align="left"><p></p></td>  
349 -<td align="left"></td>  
350 -<td align="left"><p><strong>cat</strong></p></td>  
351 -<td align="left"></td>  
352 -</tr>  
353 -<tr class="even">  
354 -<td align="left"></td>  
355 -<td align="left"><p></p></td>  
356 -<td align="left"></td>  
357 -<td align="left"><p><strong>dnsdomainname</strong></p></td>  
358 -<td align="left"></td>  
359 -</tr>  
360 -<tr class="odd">  
361 -<td align="left"></td>  
362 -<td align="left"><p></p></td>  
363 -<td align="left"></td>  
364 -<td align="left"><p><strong>echo</strong></p></td>  
365 -<td align="left"></td>  
366 -</tr>  
367 -<tr class="even">  
368 -<td align="left"></td>  
369 -<td align="left"><p></p></td>  
370 -<td align="left"></td>  
371 -<td align="left"><p><strong>getopts</strong></p></td>  
372 -<td align="left"></td>  
373 -</tr>  
374 -<tr class="odd">  
375 -<td align="left"></td>  
376 -<td align="left"><p></p></td>  
377 -<td align="left"></td>  
378 -<td align="left"><p><strong>gpg</strong></p></td>  
379 -<td align="left"></td>  
380 -</tr>  
381 -<tr class="even">  
382 -<td align="left"></td>  
383 -<td align="left"><p></p></td>  
384 -<td align="left"></td>  
385 -<td align="left"><p><strong>head</strong></p></td>  
386 -<td align="left"></td>  
387 -</tr>  
388 -<tr class="odd">  
389 -<td align="left"></td>  
390 -<td align="left"><p></p></td>  
391 -<td align="left"></td>  
392 -<td align="left"><p><strong>printf</strong></p></td>  
393 -<td align="left"></td>  
394 -</tr>  
395 -<tr class="even">  
396 -<td align="left"></td>  
397 -<td align="left"><p></p></td>  
398 -<td align="left"></td>  
399 -<td align="left"><p><strong>rm</strong></p></td>  
400 -<td align="left"></td>  
401 -</tr>  
402 -<tr class="odd">  
403 -<td align="left"></td>  
404 -<td align="left"><p></p></td>  
405 -<td align="left"></td>  
406 -<td align="left"><p><strong>shift</strong></p></td>  
407 -<td align="left"></td>  
408 -</tr>  
409 -<tr class="even">  
410 -<td align="left"></td>  
411 -<td align="left"><p></p></td>  
412 -<td align="left"></td>  
413 -<td align="left"><p><strong>SQLite3</strong> (&gt;= 3.6.19 for foreign key constraints)</p></td>  
414 -<td align="left"></td>  
415 -</tr>  
416 -<tr class="odd">  
417 -<td align="left"></td>  
418 -<td align="left"><p></p></td>  
419 -<td align="left"></td>  
420 -<td align="left"><p><strong>test</strong> and <strong>[</strong></p></td>  
421 -<td align="left"></td>  
422 -</tr>  
423 -<tr class="even">  
424 -<td align="left"></td>  
425 -<td align="left"><p></p></td>  
426 -<td align="left"></td>  
427 -<td align="left"><p><strong>tr</strong></p></td>  
428 -<td align="left"></td>  
429 -</tr>  
430 -<tr class="odd">  
431 -<td align="left"></td>  
432 -<td align="left"><p></p></td>  
433 -<td align="left"></td>  
434 -<td align="left"><p><strong>xclip</strong></p></td>  
435 -<td align="left"></td>  
436 -</tr>  
437 -</tbody>  
438 -</table>  
439 -  
440 -SEE ALSO  
441 --------- 254 + - **awk**
  255 + - **basename**
  256 + - **cat**
  257 + - **dnsdomainname**
  258 + - **echo**
  259 + - **getopts**
  260 + - **gpg**
  261 + - **head**
  262 + - **printf**
  263 + - **rm
  264 + - **shift**
  265 + - **SQLite3** (>= 3.6.19 for foreign key constraints)
  266 + - **test** and **[**
  267 + - **tr**
  268 + - **xclip**
  269 +
  270 +## SEE ALSO
442 271
443 gpg2(1), gpg-agent(1) 272 gpg2(1), gpg-agent(1)
444 273
445 -BUGS  
446 ----- 274 +## BUGS
447 275
448 No known bugs. 276 No known bugs.
449 277
450 -AUTHOR  
451 ------- 278 +## AUTHOR
452 279
453 Georg Hopp (georg@steffers.org.in) 280 Georg Hopp (georg@steffers.org.in)
454 281
455 -COPYRIGHT  
456 ---------- 282 +## COPYRIGHT
457 283
458 Copyright © 2017 Georg Hopp License GPLv3+: GNU GPL version 3 or later 284 Copyright © 2017 Georg Hopp License GPLv3+: GNU GPL version 3 or later
459 -&lt;http://gnu.org/licenses/gpl.html&gt;. 285 +<http://gnu.org/licenses/gpl.html>.
460 This is free software: you are free to change and redistribute it. 286 This is free software: you are free to change and redistribute it.
461 There is NO WARRANTY, to the extent permitted by law. 287 There is NO WARRANTY, to the extent permitted by law.
462 288
Please register or login to post a comment