shell 脚本参数解析中使用的连字符是什么?

what is the hyphen used for in shell script argument parsing?

我是linux初学者,不知道为什么Shell的参数要用连字符。据我所知,$1, $2 ...是第一个,第二个参数。

所以我的问题是:
我们什么时候 need/needn 参数不使用连字符?

对我来说,当我编写自己的 shell 脚本s 时,我总是传递不带连字符的参数。例如,myShell.sh param1 param2 param3.

但是对于其他 shell 脚本,我们使用连字符。例如 ls -l myDir。如果我是对的,ls 有两个参数:-lmyDir。为什么我们为 l 使用连字符而不为 myDIr 使用连字符?

连字符(-)用于区分选项与其他参数。

我用你的例子ls -l myDir来解释。您将如何区分 l 是输出长列表的选项还是要列出名为 l 的文件?