我如何输入一个新的行移动到下一行而不执行命令,而在shell或bash中,如果命令有超过1行?

问题描述 投票:0回答:1

所以,我试图按照一个教程创建一个Azure虚拟机和整个教程是从CLI。它是专门使用bash。我对使用CLI几乎一无所知,所以它是相当intimdating。总之,所有的命令在教程中都是这样的。

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys

但是当我试图新建一行并在新行输入参数时,它一直试图执行命令,而我无法执行任何东西,因为很明显我输入的东西缺少参数。

az vm create \ --resource-group ShahVMAzureUB \ --name ShahVM \ --imageUbuntuLTS \ --admin-username shahjacob \ --generate-ssh-keysaz vm create
: error: the following arguments are required: --name/-n, --resource-group/-g
linux bash azure terminal command-line-interface
1个回答
2
投票

引用 人页

如果一个 \<newline> 对出现,且反斜杠本身没有被引用,则会出现 \<newline> 被视为 续行 (也就是说,它被从输入流中移除,并被有效地忽略)。

所以,你 字面 需要换行 进入)后,您输入 \ 来告诉shell你想输入更多的参数,但要单独一行。

一般来说,这用于打印(甚至是Stackoverflow的答案),这样你就不会有一个难以理解的巨型行。 如果你想把所有的参数都放在一行,请去掉 \ 的参数之间。


0
投票

拓展一下SiegeX的答案(因为我没有足够的回复来评论......)。

az vm create \ 
  --resource-group myResourceGroup \
  --name myVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys

在功能上等同于

az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --generate-ssh-keys
© www.soinside.com 2019 - 2024. All rights reserved.