我想在docker上安装hylard,同时运行此powershell脚本:
docker run -p 8084:8084 -p 9000:9000\
>> --name halyard --rm \
>> -v ~/.hal:/home/spinnaker/.hal\
>> -d\
>> gcr.io/spinnaker-marketplace/halyard:stable
我收到以下错误:
At line:2 char:3
+ --name halyard --rm \
+ ~
Missing expression after unary operator '--'.
At line:2 char:3
+ --name halyard --rm \
+ ~~~~
Unexpected token 'name' in expression or statement.
+ CategoryInfo : ParserEr`enter code here`ror: (:) [],
ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingExpressionAfterOperator
有什么解决方法吗?
答案 0 :(得分:1)
这里有几件事可以尝试:
在bash中,\<newline>
是treated as a line continuation。即反斜杠后紧跟<newline>
。与示例中第一行结尾一样,它们之间不能有空格。
很难说空格实际上是在脚本中还是只是SO帖子格式的一部分,但值得检查并删除找到的任何尾随空格。
在Powershell中,您需要use backtick `
而不是反斜杠\
才能将命令分成多行。
例如:
docker run -p 8084:8084 -p 9000:9000 `
>> --name halyard --rm `
>> -v ~/.hal:/home/spinnaker/.hal `
>> -d `
>> gcr.io/spinnaker-marketplace/halyard:stable