Подтвердить что ты не робот

Синтаксическая ошибка возле неожиданного токена `('

Я пытаюсь выполнить

sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application (1995)

но я получаю эту ошибку bash: syntax error near unexpected token ('`

sudo -su db2inst1 id

дает правильный результат. Так что это должно быть что-то о()

ОБНОВЛЕНИЕ I

Если я попробую

sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \(1995\)

Я получаю

/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `/opt/ibm/db2/V9.7/bin/db2 force application (1995)'

ОБНОВЛЕНИЕ II

running /opt/ibm/db2/V9.7/bin/db2 force application (1995), поскольку пользователь db2inst1 дает мне ту же ошибку, но работает

/opt/ibm/db2/V9.7/bin/db2 "force application (1995)"

отлично работает

ОБНОВЛЕНИЕ III

правильный синтаксис

sudo -su db2inst1 '/opt/ibm/db2/V9.7/bin/db2 "force application (1995)"'
4b9b3361

Ответ 1

Поскольку у вас есть как оболочка, которую вы вводите, так и оболочка, в которой работает sudo -s, вам нужно дважды указывать или выходить. (EDITED фиксированное цитирование)

sudo -su db2inst1 '/opt/ibm/db2/V9.7/bin/db2 force application \(1995\)'

или

sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \\\(1995\\\)

Из любопытства, зачем вам нужно? Не могли бы вы просто сделать это:

sudo -u db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \(1995\)

Ответ 2

Try

sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \(1995\)