我通过 WSL 使用 Ubuntu 16.04 (xenial)。
我复制这段代码
#!/bin/bash
read -p "Have you created db credentials already?" yn
case $yn in
[Yy]* ) break;;
[Nn]* ) exit;;
esac
当我将它粘贴到 Ubuntu 中时,我只得到它的一部分:
read -p "Have you created db credentials already?" yn
Have you created db credentials already?
为什么粘贴的时候是部分粘贴的?
更新
case
当条件用制表符缩进并且代码在最后一行没有换行符时(最后一行后没有额外的空注释),我从 GitHub 复制代码。
一旦调用“read -p”行,终端就会清除您的原始粘贴缓冲区,因为它期待有意义的用户输入,您不能像这样将其粘贴到终端中。
如果您不想创建脚本文件,请在终端中按 ctrl-x 然后按 ctrl-e,它将调出默认编辑器。将其粘贴到编辑器中,保存并退出,dash 将从临时文件中正确运行您的脚本。