Припустимо, у мене є файл, названий confirmation.sh
із таким вмістом:
#!/bin/bash
echo -n "Are you sure [Y/n]? "
read line
case "$line" in
n|N) echo "smth"
;;
y|Y) echo "smth"
;;
esac
і я хочу запустити цей скрипт наступним чином:
cat confirmation.sh | sh
Бачу, Are you sure [Y/n]?
і сценарій переривається. В чому проблема?
/bin/bash
знаходитесь у рядку вибуху, але ви використовуєте.sh
розширення та намагаєтесь передати сценарійsh
. Не проблема, оскільки наявний у вас код сумісний з обома, але варто вказати.