Вы хотели сделать это: cat tempfile -
? Это означает, что он будет ждать, пока вы нажмете Ctrl + D , потому что он также пытается читать со стандартного ввода.
Если нет, удалите -
.
Кроме того, как предлагает Игнасио, вы могли бы написать это более чисто как наследник:
tsql -H 10.10.10.10 -p 1433 -U user -P pass <<EOF
USE db
GO
INSERT INTO db_table (id, data, meta)
VALUES (1, 'data', 'meta')
GO
exit
EOF
Или просто сделайте эхо с буквальными символами новой строки, а не \n
:
echo "
USE db
GO
INSERT INTO db_table (id, data, meta)
VALUES (1, 'data', 'meta')
GO
exit
" > tempfile
и затем запустите его, используя стандартное перенаправление ввода (<
), например:
tsql -H 10.10.10.10 -p 1433 -U user -P pass < tempfile