Sponsored Content
Top Forums Shell Programming and Scripting Issue with running multiple commands withing su command Post 302894186 by omega3 on Monday 24th of March 2014 09:25:40 AM
Old 03-24-2014
Issue with running multiple commands withing su command

RHEL 6.2/Bash shell

root user will be executing the below script. It switches to oracle user and expect to do the following things

A. Source the environment variables for BATGPRD Database (the file used for sourcing is shown below after the script)
B. Shutdown the DB from sqlplus -- The section between EOF takes care of this
C. execute ps command and grep for the string pmon
D. Execute srvctl start command to start the database

Commands for A,B,C and D and enclosed in a single quote delimited by colons.

Issue description:
DB is shutdown succesfully from sqlplus (A & B ). But ps command and srvctl commands shown in red are not executed.
The exit command shown below (in green below) is actually the exit from sqlplus. I don't if this affecting the execution of remaining
sections of the script.


Code:
# cat test1.sh
su - oracle -c 'source /home/oracle/BATGPRD1_oracle_env;sqlplus -s / as sysdba <<EOF
spool /home/oracle/SCRIPTS/Clone/mytestSQL.log
set echo off
set heading off

select sysdate from dual;
shutdown immediate;
select name, open_mode from v$database;
exit
EOF; ps -ef | grep pmon ; srvctl start database -d BATGPRD'
#
#

#
The file which I am sourcing above
Code:
# cat /home/oracle/BATGPRD1_oracle_env
export ORACLE_SID=BATGPRD1
export ORACLE_HOME=/db/product/oracle/11.2
export PATH=$PATH:$ORACLE_HOME/bin
#

#


### Script execution
Code:
# ./test1.sh
-bash: line 9: warning: here-document at line 0 delimited by end-of-file (wanted `EOF')

24/03/2014

Database closed.
Database dismounted.
ORACLE instance shut down.
select name, open_mode from v
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 71641
Session ID: 2243 Serial number: 5

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

running a simple script file with multiple commands

I'm trying to run a script file with multiple commands that I would normally type into the command line. The commands are: #!/bin/bash diff Test1.o0 /usr3/ronelso4/Desktop/verificationKPC/Test1.o0 > differences2 diff Test1a.o0 /usr3/ronelso4/Desktop/verificationKPC/Test1a.o0 >> differences2... (1 Reply)
Discussion started by: knelson
1 Replies

2. Shell Programming and Scripting

Running multiple unix commands in a single script

Hi, I would like to write a script with include more than 6 unix commands. my script like below: echo " script started" ls -ld bdf | grep "rama" tail -10 log.txt ... .. ... now, i want to run above unix commands one by one. example: first the ls -ld command will be... (3 Replies)
Discussion started by: koti_rama
3 Replies

3. Shell Programming and Scripting

awk splits file in to multiple - how to get filenames in variables withing ksh?

Hi all, I'm using awk in a .ksh script to split one file by line prefix into different files (up to 4). The files are named after the prefix in the line, and a sequence no. Is there any way to get the filenames in to variables too? I need _ftpfile1, _ftpfile2, _ftpfile3 and _ftpfile4 which are... (2 Replies)
Discussion started by: spidermike
2 Replies

4. UNIX and Linux Applications

Running oracle commands Directly from Command Line

In mysql, I can get what I want from a database without having to log into mysql. works great for me and it is perfect. now, i want to be able to do the same in oracle but I dont know how to. For example, if i want to retrieve information from the mysql database from the command line, i issue... (4 Replies)
Discussion started by: SkySmart
4 Replies

5. Programming

Running Multiple Unix commands in qx

Hi All, Is there anything wrong with below syntax? qx {perldoc -v ModuleName.pm | grep -i Description } BTW, this question is related to Perl. Thanks. (3 Replies)
Discussion started by: jal_capri
3 Replies

6. Shell Programming and Scripting

Running multiple commands stored as a semi-colon separated string

Hi, Is there a way in Korn Shell that I can run multiple commands stored as a semi-colon separated string, e.g., # vs="echo a; echo b;" # $vs a; echo b; I want to be able to store commands in a variable, then run all of it once and pipe the whole output to another program without using... (2 Replies)
Discussion started by: svhyd
2 Replies

7. Shell Programming and Scripting

Issue with running commands from shell script

I'm trying to copy files from a remote windows server to Unix server. I was successfully able to copy files from windows server using command prompt but when I run these commands from a script it's not working as expected. commands used: sftp user@remoteserver.com lcd local_dir cd... (3 Replies)
Discussion started by: naresh7590
3 Replies

8. Shell Programming and Scripting

Issue with quotes when running SQL command from within su -c

RHEL 6.2/Bash shell root user will be executing the below script. It switches to oracle user logs in using sqlplus and tries to run the below UPDATE statement. All the commands after su -c are enclosed in a single quote delimited by semicolon. The execution has failed because the quotes... (3 Replies)
Discussion started by: omega3
3 Replies

9. Shell Programming and Scripting

Perl script running multiple commands at once

Hi All, I have put a perl script together to go and collect some information from multiple nodes/endpoints. The script works absolutly fine however I want to make it quicker. You will see in the below that my script calls an expect script called ssh_run_cmd2.exp followed by the IP of... (7 Replies)
Discussion started by: mutley2202
7 Replies

10. Shell Programming and Scripting

Check status of long running multiple curl commands in shell script

I am working on script. it reads a file which contains multiple lines Ex; curl --write-out %{http_code} --silent --output /dev/null http://hostname:port/input=1 curl --write-out %{http_code} --silent --output /dev/null http://hostname:port/input=2 curl --write-out %{http_code} --silent ... (2 Replies)
Discussion started by: oraclermanpt
2 Replies
RUNUSER(1)							   User Commands							RUNUSER(1)

NAME
runuser - run a command with substitute user and group ID SYNOPSIS
runuser [options] -u user command [argument...] runuser [options] [-] [ user [argument...] ] DESCRIPTION
runuser allows to run commands with substitute user and group ID. If the option -u not given, fallback to su compatible semantic and shell is executed. The difference between the commands runuser and su is that runuser does not ask for password (because it may be executed by root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with suid permissions. When called without arguments runuser defaults to running an interactive shell as root. For backward compatibility runuser defaults to not change the current directory and to only set the environment variables HOME and SHELL (plus USER and LOGNAME if the target user is not root). This version of runuser uses PAM for session management. OPTIONS
-c command, --command=command Pass command to the shell with the -c option. --session-command=command Same as -c but do not create a new session (discouraged). -f, --fast Pass -f to the shell which may or may not be useful depending on the shell. -g, --group=group specify the primary group, this option is allowed for root user only -G, --supp-group=group specify a supplemental group, this option is allowed for root user only -, -l, --login Starts the shell as login shell with an environment similar to a real login: o clears all environment variables except for TERM o initializes the environment variables HOME, SHELL, USER, LOGNAME, PATH o changes to the target user's home directory o sets argv[0] of the shell to '-' in order to make the shell a login shell -m, -p, --preserve-environment Preserves the whole environment, ie does not set HOME, SHELL, USER nor LOGNAME. The option is ignored if the option --login is specified. -s SHELL, --shell=SHELL Runs the specified shell instead of the default. The shell to run is selected according to the following rules in order: o the shell specified with --shell o The shell specified in the environment variable SHELL if the --preserve-environment option is used. o the shell listed in the passwd entry of the target user o /bin/sh If the target user has a restricted shell (i.e. not listed in /etc/shells) the --shell option and the SHELL environment variables are ignored unless the calling user is root. --help Display help text and exit. --version Display version information and exit. CONFIG FILES
runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for runuser: ENV_PATH (string) Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (string) ENV_SUPATH (string) Defines the PATH environment variable for root. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH (boolean) If set to yes and --login and --preserve-environment were not specified runuser initializes PATH. EXIT STATUS
runuser normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of the signal plus 128. Exit status generated by runuser itself: 1 Generic error before executing the requested command 126 The requested command could not be executed 127 The requested command could was not found FILES
/etc/pam.d/runuser default PAM configuration file /etc/pam.d/runuser-l PAM configuration file if --login is specified /etc/default/runuser runuser specific logindef config file /etc/login.defs global logindef config file SEE ALSO
pam(8), shells(5), login.defs(5), su(1) AUTHOR
Derived from coreutils' su which was based on an implemenation from David MacKenzie and Fedora runuser command from Dan Walsh. AVAILABILITY
The runuser command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils /util-linux/>. util-linux August 2012 RUNUSER(1)
All times are GMT -4. The time now is 02:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy