A little `man` pages review: `sh` and `busybox`
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 46/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- markdown
- Lĩnh vực
- documentation
Hướng nghiên cứu
Start by reading the sh and busybox man pages and the guidance in man/README.md, then compare the reported wording, coverage, and launcher notes with the linked Open Group utility and shell language manuals. The notes identify candidate fixes, but many are questions or suggestions rather than settled changes. Done means resolving which observations are accurate and making agreed improvements to the relevant documentation.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I read man sh and man busybox. Below are some notes I wrote as I read, but first a takeaway:
I'm sort of disappointed with the formulations. Not as sharp and crisp as Open Group. I stopped writing down examples of weird formulations. A big suggestion is to feed the LLM the "utilities" (aka. shell) HTML files from Open Group, possibly including the command language manual as well, to inspire its language use and even lift some directly applicable formulations and duplicate topics. And even find missing info, like mention of $PWD missing from man sh's ENV section (what else is missing...). There is also the "Utility Description Defaults" section that the LLM could learn from—maybe even Typographical Conventions—as a safety net under your existing instruction in man/README.md.
Despite my disappointment over clumsy formulations, all in all, a very good resource! I already learned many things!
A last thing to consider is the command language manual (linked above) not being included in the current man set. I don't know if it's even okay to include it verbatim, but a link to it somehow in appropriate man pages, if that's doable, could be an idea. It is an incredible resource.
On to the notes:
EDIT My eyes must have been crossing over. PWD and OLDPWD are mentioned in ENVIRONMENT in man sh, so disregard that.
### sh
Doesn't list `-i` in SYNOPSIS (mentioned in DESCRIPTION, Invocation)
Doesn't list `-l` in SYNOPSIS (mentioned in DESCRIPTION, Invocation)
Almost all options are missing from the synopsis
Learned something new! Under "extensions from bash". Extended string expansions, "command_not_found_handle"
Weird formulations, like:
- "Shell options are changed with set -o name to turn one on and set +o name to turn it off."
- "The first word of a simple command, after alias expansion, names what runs."
- "... type shows which of these a name finds"
- "The search of PATH tries each element in order; an empty element is the current directory."
Learned something new! `ash` supports CDPATH
Weird formulations, like:
- "-L (the default) resolves .. in the path by its text, and -P by the directories themselves."
- "Without -P, PWD has forward slashes, an uppercase drive letter, and the capitalization stored on disk."
- `exec` is described weird
Haha: "End of input is refused the same way, but the 51st in a row leaves."
Learned something new: 'hash' works, and 'read' takes '-t', what 'times' does, BB_UMASK, 'wait -n'
Job name forms are not explained (ex. `%%`)
Weird formulations:
- "Ctrl-W Delete the blank-delimited word before the cursor.": Why is it formulated different than Alt-D and Alt-Backspace?
- "The editor never beeps."
A couple of these by now, maybe mention that they're w64devkit specific patches? (EDIT: Coming back here later, maybe say "See NOTES" for these):
- "The editor never beeps."
- "A Tab where a command name would begin, with nothing typed yet, does nothing, since listing every program in PATH takes seconds on Windows."
- "HISTSIZE up to 16384"
The OPTIONS paragraph is confusing in context. I kind of forgot that it's talking explicitly about `sh`. It's just not very good writing.
I find the text justification distracting. Maybe it's just me being used to the HTML man pages at Open Group which doesn't justify text.
ENVIRONMENT
- Learned about BASH_XTRACEFD
- I don't think CDPATH works
- I don't think EPOCHREALTIME, EPOCHSECONDS work
- Learned about "FUNCNAME"
- "HISTFILESIZE is not used.": Why not? What did it do?
- HOME: What does "user's profile directory" technically mean?
- Learned about LINENO: Nice!
- MANPATH: Nice that it's mentioned here in `sh`, but should it be?
- PATH: Maybe say explicitly that Unix/Linux/POSIX uses `:`, but Windows must use `;`
- "The prompts and the prefix of -x output;": Unclear sentence, missing comma before "and"
- TERM_PROGRAM: I don't understand this one
- "-": This is incorrect. It holds the shell options, not the last arg of prev cmd
- PWD is missing. What else may be missing?
- Also want to mention that it looks like a future version of busybox-w32 will have [PROMPT_COMMAND](https://github.com/rmyorston/busybox-w32/issues/615)
NOTES
- "The shell starts from a native Windows environment when...": What does this mean?
- Learned something new! About CRLF-handling
### busybox
"Every applet except [, echo, false, test, and true prints its usage on standard output and exits with status 0 when its first argument is --help."
- Is this correct?
"Launchers" section should explain some motivation for the aliases
- "These applets have no launcher:" Intended, or caught by the LLM?
Applets left out with no replacement:
- "the [[ form of test." Is this correct??
- Maybe explain that `bash` was just a rename of `sh` like `ash`/`lash`/`sh`
- Why is `ascii` missing, btw?
OPTIONS
- "--install" - "The kit's launchers make this unnecessary for most applets.": Mention to see "LAUNCHERS" section here
ENVIRONMENT:
"The BB_ variables are specific to busybox-w32. In the shell, export them: busybox reads them from the environment.": Confusing. Specific to `busybox-w32` as opposed to what? Compounded by calling it just "`busybox`" in the very next sentence.
Learned something! BB_CRITICAL_ERROR_DIALOGS, BB_FIX_BACKSLASH
Under BB_OVERRIDE_APPLETS, mention LAUNCHERS section
HOME: What does it technically mean "user's profile directory"?
NOTES
"A path such as c:name...": Mention that this is a `w64devkit` patch?
"/dev/null for NUL, /dev/tty for the console": Why call `NUL` but not `CON`? Maybe mention that anything that's not a `busybox-w32` applet won't understand these
"or when it is a Windows program": ?? What does this mean
"w64devkit changes busybox-w32 as follows:": Ah, here it is. Maybe separate all these into separate points.
- Ngôn ngữ chính
- C
- Star
- 5k
- Fork
- 408
- Merge trung bình
- 4 giờ 40 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của skeeto/w64devkit
-
New busybox-w32 versionĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
Bring UTF-8 back to x86 kitĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Support for mcfgthreads?Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Tất cả issue của skeeto/w64devkit
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
sk3llo/ffmpeg_kit_flutter#176 ·
-
Synth suite fails unless run from the repo root: signal_flow's default machine path is cwd-relativeĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Nimblesite/osprey#370 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100