Comments (7)
That's a lot of docs to read, do i understand that we'd need to ship dependencies with bash3boilerplate? while i think our implementation isn't the prettiest, i think not requiring dependencies is a nice thing of b3bp?
https://argbash.readthedocs.io/en/stable/install.html#install
from bash3boilerplate.
Nope, there's no need to ship anything with the resulting script.
Fundamentally, its a m4 preprocessor that generates bash code upon being processed.
For example, I just wrote these lines:
https://github.com/CobraLab/iterativeN4_multispectral/blob/master/iterativeN4_multispectral.sh#L3-L29
And then I do:
argbash iterativeN4_multispectral.sh -o iterativeN4_multispectral.sh
And it generated all the code you see in these lines:
https://github.com/CobraLab/iterativeN4_multispectral/blob/master/iterativeN4_multispectral.sh#L30-L289
If I update my command-line specification, I just rerun the command, and it rewrites the parser.
from bash3boilerplate.
Okay so it's a bit like you would need a transpile step before you could run the bash script. We'd also need m4 to be installed everywhere. Is it ubiquitous?
I'm tempted to go along with this proposal so that we can remove the beast that our cli parsing has grown into, but at the same time, much of the appeal of b3bp was (and is to me still at least) that it can run on any thing that has bash3, no strings attached 🤔
from bash3boilerplate.
Okay so it's a bit like you would need a transpile step before you could run the bash script. We'd also need m4 to be installed everywhere. Is it ubiquitous?
m4 is part of the "build-essential" of Ubuntu, it's a pretty classic piece of software that you should find on any machine with development happening. I love b3bp for the other features, but argbash's parser is just so vastly superior that I wonder why we should be duplicating the effort.
from bash3boilerplate.
from bash3boilerplate.
Well the transpiling is only needed once, for the person writing the script, after that argbash generates/embeds the parser in regular bash code. transpiling is only needed again if one modifies the definitions of the parser and needs to update the code.
from bash3boilerplate.
from bash3boilerplate.
Related Issues (20)
- Check if non-bash shell is executing script? HOT 1
- Odd behaviour when example.sh is invoked with no args HOT 5
- Line numbers for debug mode HOT 3
- Repeat arguments HOT 2
- Latest shellcheck complaints about main.sh HOT 2
- using longname args with and without value in the wrong order produces the wrong result
- Add readme example for users on where to add boiler plate code. HOT 1
- Alert and emergency default colors are not readable. HOT 1
- Question regarding embedding script
- Travis CI fails with "There were unauthenticated packages" HOT 3
- Release v2.4.0 HOT 3
- (osx): homebrew removed `--with-default-names` HOT 4
- Incorrect error_code on ERR
- Feature discussion: edit/remove of comments HOT 2
- Question : Why use spaces before log level display? HOT 1
- broken links on b3bp website HOT 1
- document whether and how the auto-parsing handles positional arguments HOT 1
- Default="${HOME}/..." not properly expanded HOT 3
- src/templater.sh should be replaced or removed HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bash3boilerplate.