LINUX.ORG.RU

История изменений

Исправление vodz, (текущая версия) :

остальные аргументы достаются команде в -c в качестве $1, $2, …

Ну опция -c в man bash описана первой и там читать всего ничего.

Если конкретно автору хочется переменных, то можно как-то так:

DIR="/tmp"
CMD="psql -f"
Q="/tmp/sql.txt"
USER="postgres"

sudo -u "$USER" bash -c "cd \$1 ; $CMD \$2" script "$DIR" "$Q"

Исходная версия vodz, :

остальные аргументы достаются команде в -c в качестве $1, $2, …

Ну опция -c в man bash описана первой и там читать всего ничего.

Если конкретно автору хочется переменных, то можно как-то так:

DIR="/tmp"
CMD="psql -f"
Q="/tmp/sql.txt"
USER="postgres"

sudo -u "$USER" bash -c "cd \$1 ; pwd ; $CMD \$2" script "$DIR" "$Q"