Согласно этой странице , должно работать следующее:
SQL="select * from Student"
EMPLOYEES=`isql -U $USERNAME -P $PASSWORD -D $DATABASE -S $SERVER<<EOF
$SQL
go
EOF
`
Также смотрите мой комментарий к вашему вопросу, потому что в коде, который вы разместили, вам не хватало закрывающей EOFи backtick (каждый в отдельной строке).
Вы также можете попытаться сделать это, как @ user1254184 предложил в своем ответе:
EMPLOYEES=`echo "$SQL" | isql -U $USERNAME -P $PASSWORD -D $DATABASE -S $SERVER`
Наконец, чтобы обойти потенциальные проблемы с кавычкамии т. д. вы можете использовать временный файл:
echo "$SQL" > $TMP/sql.$$
EMPLOYEES=`isql -U $USERNAME -P $PASSWORD -D $DATABASE -S $SERVER -i $TMP/sql.$$`
rm $TMP/sql.$$
Вы можете выбрать более подходящее имя для временного файла.