Нет ничего плохого в том, чтобы разделить его на части с помощью бэклинков, как вы показали. Однако, как правило, лучше передавать SQL через stdin. Для postgres это особенно верно, поскольку опция '-c' фиксирована для возврата вывода только одной команды, тогда как принимая команды из stdin, вы можете складывать вместе столько команд, сколько захотите. Таким образом, вы можете сделать что-то вроде:
sudo -u postgres /opt/puppet/bin/psql puppetdb -t <<SQL | ...
select certname, r.value as role, e.value as env
from certname_facts r join certname_faces e using (certname)
where r.name = 'role' and e.name = 'env'
order by role,env,certname
SQL
Здесь переменные Bash могут быть интерполированы. Чтобы избежать этого, процитируйте первый экземпляр SQL
:
sudo -u postgres /opt/puppet/bin/psql puppetdb -t <<'SQL' | ...
Доступные курсоры мыши зависят от используемого инструментария; простой X знает не менее 77 различных курсоров , Gdk знает не менее 34 .
Используемый курсор контролируется каждым приложением для любого окна или виджета, отображаемого на экране. Нет глобального курсора, поэтому нет состояния для «запуска приложения»; приложения могут отображать «занятый» курсор, но они должны сами об этом позаботиться.