brbsix / bash-config

Use configuration files with your bash scripts. Options to support several types of config files (bash, ini, or custom). Great for integrating with your own shell scripts on Linux and Android.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bash-config

Bash script to interact with configuration files. Great for easily implementing basic config files in all of your Android, Linux, or OSX shell scripts.

Features

  • read/write/delete parameters with values
  • create and delete config files
  • autodetection of config style (between Bash and ini)
  • options for different styles of config files
    • Bash-style
    • Window's ini-style
    • use custom delimeter

Linux Installation

To install bash-config on Linux:

sudo install bash-config /usr/local/bin

Android Installation

This script was originally written for Bash but now supports Android's default shell mksh as well.

The only external tools used by bash-config are grep and sed. If you are missing either of these then you should install busybox.

Assuming you can download or otherwise transfer bash-config onto your phone, here are the installation instructions:

su
cp bash-config /data/local/bin
sed -i 's:#!/bin/bash:#!/system/bin/mksh:' /data/local/bin/bash-config  # update the shebang for Android's default shell
chmod 0755 /data/local/bin/bash-config

NOTE: You may need to add /data/local/bin to your PATH. This involves editing your shell's rc file. If you are using the default mksh shell, it is located at /system/etc/mkshrc. For Bash, it is most likely at /system/etc/bash/bashrc. Append the following to the end of the file:

export PATH="$PATH:/data/local/bin"

Usage

When accessing values, the config style is autodetected. When storing a value in a new file, it defaults to Bash-style (i.e. PARAMETER=value).

To create the first entry in an ini-style file (i.e. PARAMETER = value):

bash-config --ini FILE parameter value

To use a custom separator (i.e. PARAMETER:value) for read and write operations:

bash-config --custom : FILE parameter value

To access parameter value:

bash-config FILE parameter

To delete parameter:

bash-config FILE parameter %

To delete config file:

bash-config FILE %

License

Copyright (c) 2015 Six (brbsix@gmail.com).

Licensed under the GPLv3 license.

About

Use configuration files with your bash scripts. Options to support several types of config files (bash, ini, or custom). Great for integrating with your own shell scripts on Linux and Android.

License:GNU General Public License v3.0


Languages

Language:Shell 100.0%