Я использую Ubuntu 16.04 (гостеприимную) через WSL.
Я копирую этот код
#!/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?
Почему, когда это вставляется, это вставляется частично?
Я копирую код с GitHub, когда case
условия располагаются с отступом с вкладками и когда код без разрыва строки в последней строке (никакое дополнительное пустое примечание после последней строки).
Как только "считанный-p" строка вызывается, терминал очищает Ваш исходный буфер, потому что это ожидает значимый ввод данных пользователем, и Вы не можете только вставить его в терминал как это.
Если Вы не будете испытывать желание создавать файл сценария, нажмите ctrl-x и затем ctrl-e в терминале, то он воспитает редактора по умолчанию. Вставьте его в редактора, сохраните и выйдите, тире выполнит Вас сценарий правильно из временного файла.