I believe the default behavior for Azure Cloud Shell is to open up PowerShell, not Bash. I could be wrong but I hadn't accessed Cloud Shell before and it took me to PowerShell, where the Bash shell was need for the Chapter 2 activities. For those new to Azure Cloud Shell, they may not know how to switch between Bash and PowerShell so you should probably show it as a step when launching to perform the SSH tasks.

Enjoy the book so far and may use it as a teaching text in my classroom for a future Azure class.

Yes, the latest changes in the Cloud Shell launch PowerShell by default. Couple of good things here though:

Azure CLI 2.0 is available just fine in the PowerShell Cloud Shell However, if you try to use any line breaks, you need to use the backtick (`) not backslash (\)

If you select the Bash shell from the drop-down menu in the top-left of the Cloud Shell, Azure should remember that on future visits and you can jump right in with each lesson using the Bash shell.

Either option works, there's no right or wrong way. You don't need to actually type any of the backslashes for the line breaks, they're only in place if you're trying to copy and paste from the liveBook or PDF. YMMV on copy and paste depending on your browser anyway!

So if you're reading along and typing in each of the commands, just ignore the line breaks and you can work in the PowerShell Cloud Shell with the Azure CLI just fine. Bit of a head-scratcher, maybe, but the Azure CLI is cross-platform and can install on Windows just fine. It's written in Python, so any OS that has Python can run the Azure CLI. And actually, Azure PowerShell is coming pretty darn close to being cross-platform with .NET Core and PowerShell support on macOS/Linux!

Thanks for pointing out this behavior though. I'll look to add something in to the early chapters to make all this clearer. Choice is good, but still need a little guidance!