什么应该先出现:可选参数或参数

what should come first: optional argument or argument

我刚开始使用像 bash 和命令行这样的技术,我参加过任何关于 YouTube 视频的课程,所以当我使用它时,我想知道应该先做什么。

例如:

read name -p "some text"

或者我应该这样做

read -p "some text" name

为什么我们要把一个放在另一个上面?

惯例是将选项放在第一位。见 POSIX Utility Syntax Guidelines:

Guideline 9:

All options should precede operands on the command line.

也就是说,GNU 实用程序(包括 bash read)往往比较宽容并在任何地方都接受它们:

$ ls .bashrc -l
-rw-r--r-- 1 me me 2031 Nov 21 10:28 .bashrc

虽然 BSD 实用程序倾向于在操作数之后拒绝它们:

$ ls .bashrc -l
ls: -l: No such file or directory
.bashrc