idank / idank/explainshell

Quoted values joined with option name not recognized

Open
#34 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
14.2k
Forks
851
PR merge metrics
No merged PRs in 30d

Description

It failes to parse correctly the quoted argument values for single-dashed options when they are joined together with the option e.g.

cut -f1-2 -d' '

Instead it lists the first quote ' as the argument value and the remaining part is flagged as unknown. More over when this is followed by pipe, the quotation mark is shown as the pipe and the pipe itself is concatenated together with the following command name.

For example this command is perfectly valid, but not recognized correctly:

echo "a b c d" | cut -f1-2 -d' ' | grep -e'a b'

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the cut -f1-2 -d' ' case and the full echo "a b c d" | cut -f1-2 -d' ' | grep -e'a b' pipeline. Trace the command-line parsing entry point for joined single-dashed options and quoted values; done means quoted arguments remain intact and pipes and following command names are parsed correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, shell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.