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
有两个参数:-l
和 myDir
。为什么我们为 l
使用连字符而不为 myDIr
使用连字符?
连字符(-
)用于区分选项与其他参数。
我用你的例子ls -l myDir
来解释。您将如何区分 l
是输出长列表的选项还是要列出名为 l
的文件?
我是linux初学者,不知道为什么Shell的参数要用连字符。据我所知,$1, $2 ...是第一个,第二个参数。
所以我的问题是:
我们什么时候 need/needn 参数不使用连字符?
对我来说,当我编写自己的 shell 脚本s 时,我总是传递不带连字符的参数。例如,myShell.sh param1 param2 param3
.
但是对于其他 shell 脚本,我们使用连字符。例如 ls -l myDir
。如果我是对的,ls
有两个参数:-l
和 myDir
。为什么我们为 l
使用连字符而不为 myDIr
使用连字符?
连字符(-
)用于区分选项与其他参数。
我用你的例子ls -l myDir
来解释。您将如何区分 l
是输出长列表的选项还是要列出名为 l
的文件?