erwinverdonk / bash_ini_parser Goto Github PK
View Code? Open in Web Editor NEWThis project forked from rudimeier/bash_ini_parser
simple INI file parser
License: Other
This project forked from rudimeier/bash_ini_parser
simple INI file parser
License: Other
bash_ini_parser -- Simple INI file parser ========================================= This is a comfortable and simple INI file parser to be used in bash scripts. COPYRIGHT --------- Copyright (c) 2009 Kevin Porter / Advanced Web Construction Ltd (http://coding.tinternet.info / http://webutils.co.uk) Copyright (c) 2010-2014 Ruediger Meier <[email protected]> (https://github.com/rudimeier/) License: BSD-3-Clause, see LICENSE file USAGE ----- You must source the bash file into your script: > . read_ini.sh and then use the read_ini function, defined as: > read_ini INI_FILE [SECTION] [[--prefix|-p] PREFIX] [[--booleans|b] [0|1]] If SECTION is supplied, then only the specified section of the file will be processed. After running the read_ini function, variables corresponding to the ini file entries will be available to you. Naming convention for variable names is: PREFIX__SECTION__VARNAME PREFIX is 'INI' by default (but can be changed with the --prefix option), SECTION and VARNAME are the section name and variable name respectively. Additionally you can get a list of all these variable names: PREFIX__ALL_VARS and get a list of sections: PREFIX__ALL_SECTIONS and the number of sections: PREFIX__NUMSECTIONS For example, to read and output the variables of this ini file: -- START test1.ini file var1="VAR 1" var2 = VAR 2 [section1] var1="section1 VAR 1" var2= section1 VAR 2 -- END test1.ini file you could do this: -- START bash script . read_ini.sh read_ini test1.ini echo "var1 = ${INI__var1}" echo "var2 = ${INI__var2}" echo "section1 var1 = ${INI__section1__var1}" echo "section1 var2 = ${INI__section1__var2}" echo "list of all ini vars: ${INI__ALL_VARS}" echo "number of sections: ${INI__NUMSECTIONS}" -- END bash script OPTIONS ------- [--prefix | -p] PREFIX String to prepend to generated variable names (automatically followed by '__'). Default: INI [--booleans | -b] [0|1] Whether to interpret special unquoted string values 'yes', 'no', 'true', 'false', 'on', 'off' as booleans. Default: 1 INI FILE FORMAT --------------- - Variables are stored as name/value pairs, eg: var=value - Leading and trailing whitespace of the name and the value is discarded. - Use double or single quotes to get whitespace in the values - Section names in square brackets, eg: [section1] var1 = value - Variable names can be re-used between sections (or out of section), eg: var1=value [section1] var1=value [section3] var1=value - Dots are converted to underscores in all variable names. - Special boolean values: unquoted strings 'yes', 'true' and 'on' are interpreted as 1; 'no', 'false' and 'off' are interpreted as 0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.