
Я использую Ubuntu 14.04. Когда я вошел в систему как root, я пытаюсь запустить команду как aotehr (postgres). Однако это не удается
root@remotebox:/home/rails/myproject# su - postgres 'pg_upgradecluster 9.3 main'
-su: pg_upgradecluster 9.3 main: No such file or directory
Что я делаю не так?
решение1
Вы пытаетесь перейти 'pg_upgradecluster 9.3 main'
в оболочку по умолчанию для пользователя postgres. В зависимости от конфигурации пользователя postgres это может означать выполнение 'pg_upgradecluster 9.3 main'
файла в PATH postgres, и это причина, по которой вы получаете ошибку "No such file or directory error".
Попробуйте передать аргумент как команду (-c):
su - postgres -c 'pg_upgradecluster 9.3 main'
как оболочка:
su - postgres -s /path/to/pg_upgradecluster -- 9.3 main
или для явного выбора оболочки:
su - postgres -s /bin/bash -- -c 'pg_upgradecluster 9.3 main'