ruby / ruby/shellwords

Equals sign seems unnecessarily escaped

オープン
#1 コメント 2 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Ruby
スター
28
フォーク
7
平均マージ
3分
マージ済み PR(30日)
1

説明

In rubygems, we sometimes print quite complicated commands when building extensions fail, so that the user can try to rerun things and reproduce the problem. I noticed that equal signs are escaped, making things a bit more overwhelming.

I think there might be a reason for it that I don't know of, or some shell where it's necessary, but I checked the equivalent python package, and it does not escape them, so maybe it can be changed.

➜  ~ python -c 'import shlex; print(shlex.join(["FOO=BAR", "baz"]))'
FOO=BAR baz
➜  ~ ruby -rshellwords -e 'puts Shellwords.join(["FOO=BAR", "bar"])'
FOO\=BAR baz

If the change is accepted, I can work on it.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Issue に示されている Shellwords.join のエントリポイントから開始し、等号を含むコマンドワードがどのようにエスケープされるかを追跡してください。出力を Python の例に一致させられるか判断する前に、既存のシェル安全性の動作を確認し、その後、他のエスケープケースを退行させることなく、等号が意図どおりに処理されることを検証してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
ruby
領域
cli
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。