Есть bash-скрипт со следующей командой:
#!/bin/bash
sudo -u postgres bash -c cd /tmp ; psql -f /tmp/sql.txt
psql: СБОЙ: роль "root" не существует
* * *
А теперь есть такой скрипт, в котором та же самая команда конструируется через переменную:
#!/bin/bash
psqlRun="sudo -u postgres bash -c cd /tmp ; "
$psqlRun psql -f /tmp/sql.txt
Вопрос: почему так? По-сути, создается команда, всеми символами совпадающая с командой из первого скрипта. Но почему этот скрипт не генерирует ошибку?