2013-02-20 3 views
1

Я хочу запустить запрос DB2 из сценария оболочки. У меня есть пользователь db2inst1, который требуется для выполнения операторов DB2. Я запускаю приложение, которое использует пользователя root для запуска сценария оболочки. ЗДЕСЬ, если я переключу пользователя на db2inst1. Я могу сделать эту работу.Как переключить пользователя в сценарий оболочки AIX?

Ниже приводится мой обзор, который отлично работает с db2inst1.

#!/bin/sh 
db2 "connect to customerdb" 
db2 "set schema = db2inst1" 
db2 "insert into tbl_customer(name,occupation) values ('Alex','Admin')" 

Посмотрите, как корень должен его запустить. Таким образом, пользователь root позволит скрипту переключать пользователя перед выполнением команд db.

Мое приложение будет вызывать этот сценарий оболочки, который будет использовать пользователя root.

Как переключить пользователя в скрипт? Я новичок в shell-скриптах.

ответ

1

Как вы работаете, как root, вы можете использовать:

su dbinst1 -c './your_script arg1 arg2 ...' 

Ты не работает, как root, жизнь будет сложнее.

+0

Мое приложение будет вызывать этот сценарий оболочки, который использует пользователя root. Я хочу, чтобы все было в скрипте. Я попробовал: 'su db2inst1 -c 'db2 CONNECT TO customerdb USER db2inst1 ИСПОЛЬЗОВАНИЕ admin; db2 -c -i-w -td @ ​​-f/u01/IBM/workspace/addcustomer.sql'', но я получил 'ksh: db2: not found.' –

+0

Возможно, что среда установлена ​​неправильно; в частности, '$ PATH' может быть (повторно) установлено на значение по умолчанию, которое не включает, где установлена ​​команда' db2'. Возможно, вам придется установить и другие переменные среды. Это будет сделано внутри файла 'yourscript' - любым именем, которое вы называете. Или это будет выписано в массивной, многострочной команде, но обычно лучше запускать скрипт. –

+0

Добавление 'su - dbinst1 -c' с каждым оператором в скрипте выполняло эту работу. Теперь мой скрипт: 'su - db2inst1 -c 'db2 подключиться к useradb user db2inst1, используя admin' su - db2inst1 -c 'db2 -tvsf/u01/IBM/workspace/addcustomer.sql'' –

Смежные вопросы