Comments (4)
Actually, here's an even smaller reproducer:
#!/bin/bash
#
# This is a rather minimal example Argbash potential
# Example taken from http://argbash.readthedocs.io/en/stable/example.html
#
# ARG_OPTIONAL_SINGLE([option], [o], [optional argument help msg])
# ARG_OPTIONAL_BOOLEAN([print], , [boolean optional argument help msg])
# ARG_POSITIONAL_SINGLE([positional-arg], [positional argument help msg], )
# ARG_HELP([The general script's help msg])
# ARGBASH_GO
# [ <-- needed because of Argbash
local color_debug="\\x1b[35m"
# ] <-- needed because of Argbash
Looks like the parser doesn't like bash colour codes.
from argbash.
https://argbash.readthedocs.io/en/stable/index.html#limitations
The square brackets in your script have to match (i.e. every opening square bracket [ has to be followed at some point by a closing square bracket ]).
There is a workaround — if you need constructs s.a. red=$'\e[0;91m', you can put the matching square bracket behind a comment, i.e. red=$'\e[0;91m' # match square bracket: ].
So you can simply add a comment as such
#!/bin/bash
#
# This is a rather minimal example Argbash potential
# Example taken from http://argbash.readthedocs.io/en/stable/example.html
#
# ARG_OPTIONAL_SINGLE([option], [o], [optional argument help msg])
# ARG_OPTIONAL_BOOLEAN([print], , [boolean optional argument help msg])
# ARG_POSITIONAL_SINGLE([positional-arg], [positional argument help msg], )
# ARG_HELP([The general script's help msg])
# ARGBASH_GO
# [ <-- needed because of Argbash
local color_debug="\\x1b[35m" #]
# ] <-- needed because of Argbash
from argbash.
Thanks for the reference. It's nice and all, but it doesn't solve the issue that I didn't know to look there when the parser crashed 👍
from argbash.
This is a technical limitation of the underlying technology. I know that this is a pain, and sorry for that, it is at least on the first page of the documentation under section Limitations.
from argbash.
Related Issues (20)
- recursion: parse arguments from file HOT 1
- Allow ARG_LEFTOVERS after ARG_POSITIONAL_INF if ARG_POSITIONAL_DOUBLEDASH specified between them HOT 6
- autom4te Error: invalid command code m, end of file in string: syntax error in expression HOT 1
- ARG_LEFTOVERS functionality dependent on bash version HOT 1
- Invalid short and long options are treated as positional arguments HOT 2
- evaluate_strictness make the script fail if executed with errexit HOT 1
- feature request: add possibility to add code before the argbash definitions HOT 2
- make compatible with errexit and nounset HOT 1
- Fluent API like commands HOT 2
- SSL Certificate does't match argbash.io HOT 2
- Project description: add https://argbash.dev
- Clarify license implication of using argbash
- Show example usage in the readme (hello world example)
- PKGBUILD.in missing dependency rst2man for generating manpages HOT 3
- Calculate default value at run time?
- parse_commandline: _key should be local?
- Perform argbash arg parsing for bash functions HOT 1
- Feature Request: GIT style commands with arguments HOT 1
- Hardcoded bash path? HOT 1
- Feature Request: Argbash clean command/output type
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 argbash.