make(1) bash scripting better
  • Makefile 77.3%
  • Shell 19.8%
  • Roff 2.9%
Find a file
2022-07-15 17:06:32 +02:00
data moved tr in help table to after the loop, saves ~1ms/option 2022-07-15 17:06:32 +02:00
docs renamed --update -> --push 2022-06-13 06:53:51 +02:00
func dont include check target in GNUmakefile 2022-06-11 22:08:33 +02:00
Makefile.d moved tr in help table to after the loop, saves ~1ms/option 2022-07-15 17:06:32 +02:00
.gitignore added wiki 2022-04-15 18:37:34 +02:00
bashbud dont include makefile.d files in the loop 2022-06-15 12:47:36 +02:00
bashbud.1 dont include check target in GNUmakefile 2022-06-11 22:08:33 +02:00
config.mak whatever 2022-06-13 21:46:30 +02:00
GNUmakefile [FIX] rename makefile -> GNUmakefile 2022-06-05 14:59:17 +02:00
LICENSE added license 2022-04-15 20:56:36 +02:00
options renamed --update -> --push 2022-06-13 06:53:51 +02:00
README.md add conditional for DESTDIR and include wiki if its not set 2022-04-16 00:07:31 +02:00
watch [FIX] bug in watch, only exclude files PREFIXED with _ 2022-04-15 18:24:18 +02:00

bashbud - make(1) bash scripting better

The bashbud script/command is a very simple cp(1) wrapper that simply merge a directory from ~/.config/bashbud/ into a target directory. The directories in ~/.config/bashbud are called templates, and the default template is called default. The default template have a carefully created Makefile, that makes (no pun intended) bash script maintenance pleasant. Especially in regards to managing commandline options and documentation.

There is a tutorial in the wiki, that walks you through all the functionality of the bashbud command and what the Makefile does.

installation

If you use Arch Linux you can get bashbud from AUR.

Make dependencies: GNU make, GNU awk, lowdown

(configure the installation in config.mak, if needed)

$ git clone https://github.com/budlabs/bashbud.git
$ cd bashbud
$ make
# make install
$ bashbud -v
bashbud - version: 1.99
updated: 2022-04-14 by budRich

usage

bashbud [OPTIONS] [TARGET_DIRECTORY]

TARGET_DIRECTOY defaults to current working directory.

options

-c, --config-dir DIRECTORY | override the default (~/.config/bashbud)               
-t, --template TEMPLATE    | TEMPLATE is the name of a directory in BASHBUD_DIR     
-n, --new DIRECTORY        | same as: --template default                            
-v, --version              | print version info and exit                            
-h, --help                 | print help and exit                                    
-a, --add                  | add FILE to (mandatory --template) TEMPLATE            
-f, --force DIRECTORY      | Overwrite already existing files imported from template
-u, --update               | update TEMPLATE based on current directory             

license

bashbud is licensed under the MIT license