我正在编写一个程序prog.exe
,它检索传递给它的所有参数(以“句子”的形式,而不是独立的参数)。
我刚刚意识到,在某些情况下,只检索行的一部分,这是当存在#parameters
时:
PS > ./prog.exe this is a #nice sentence
只有this
,is
和a
被检索到。如果我不使用#
,我会得到所有的#
。我想这是因为#
后面的所有内容都被Powershell解释为注解。
是否有一种方法可以检索命令行中的所有内容?
如果这样做有什么不同,我会在Go语言中编写代码,并通过os.Args[1:]
获取参数。
1条答案
按热度按时间cnjp1d6j1#
您可以通过显式引用输入参数来防止PowerShell将
#
解释为注解标记:不过,还有一种更好的方法,尤其是在不控制输入的情况下:将参数拆分为单独的字符串,然后在包含它们的数组上使用splatting operator
@
:最后,在命令上下文中使用
--%
解析结束标记将导致同一行上的后续参数 * 按原样 * 传递,而不解析语言语法: