Sponsored Content
Top Forums Shell Programming and Scripting Help: run with another user, env disappear Post 302971573 by yanglei_fage on Friday 22nd of April 2016 01:38:44 AM
Old 04-22-2016
Help: run with another user, env disappear

Code:
#!/bin/sh
PATH_1=$PATH
echo "PATH_1 is " $PATH_1
function user_func (){
  whoami
  export PATH=$PATH_1:/usr/local/bin
  echo "PATH is" $PATH
  exit
}
export -f user_func
su -m hadoop -c 'user_func'

from out put, PATH is not set with PATH_1 append ( it's not another user to run the script, it's the user "hadoop" inside the script to run the function 'user_func' )
Code:
PATH_1 is  /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
hadoop
PATH is /bin:/usr/bin


Last edited by yanglei_fage; 04-22-2016 at 10:08 PM..
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding command line env in cron env

Hello friends, i run two scripts manually & they work. i run them in cron & they don work. how to match the two env's 1.command line env 2.cron env i would like cron to use command line env. Thanks & Regards Abhijeet (1 Reply)
Discussion started by: abhijeetkul
1 Replies

2. HP-UX

How to use own account env variables to cron user

hi all, i have one account for unix Tru64. i can login this account and i do execute special shell script(login sqlplus, execute another shell, etc... ) on this account on my server. but i can't run this shell from cron tab. i think that become cron user envirnoment variables. (3 Replies)
Discussion started by: Tlg13team
3 Replies

3. Shell Programming and Scripting

How to run cmds after changing to a new env (shell) in a shell script

Hi, I am using HP-UNIX. I have a requirement as below I have to change env twice like: cadenv <env> cadenv <env> ccm start -d /dbpath ccm tar -xvf *.tar ccm rcv .... mv *.tar BACKUP but after I do the first cadenv <env> , I am unable to execute any of the later commands . ... (6 Replies)
Discussion started by: charlei
6 Replies

4. Shell Programming and Scripting

Manipulating env variables for user apache?

So that they can be used in a cgi script? How best to do this? Thanks ---------- Post updated at 06:24 PM ---------- Previous update was at 02:38 AM ---------- Anyone that can help me with this? Basically I want to add an environment variable that will be visible to the cgi scripts when I... (0 Replies)
Discussion started by: stevenswj
0 Replies

5. Shell Programming and Scripting

How to invoke user env. on remote server

I am tryying to ssh remote machine from a script to run a program for a particular user but it is not bringing up the user environment on remote machine. I was wondering if some one tells me what is the command I should put in the script which will invoke user env on the remote server before ssh is... (2 Replies)
Discussion started by: sam101
2 Replies

6. Shell Programming and Scripting

Need to run Oracle stored procedure from UNIX env

Hi Everyone, I want to create a script where i need to run the oracle stored procedure from unix script and get the output(sequence number ) into a variable which i will pass in my datastage job. Below is my stored procedure:- DECLARE P_TRANSTYPE VARCHAR2(20); ... (4 Replies)
Discussion started by: prasson_ibm
4 Replies

7. Shell Programming and Scripting

User switching without carrying over LC_CTYPE env variable

I am using Solaris8, userA's shell '/usr/ace/prog/sdshell', AppuserB's shell '/bin/ksh'. serverT:/home/userA>LC_CTYPE=iso_8859_1; export LC_CTYPE; vtemp='userA variable'; export vtemp serverT:/home/userA>echo "LC_CTYPE=$LC_CTYPE, vtemp=$vtemp"; LC_CTYPE=iso_8859_1, vtemp=userA... (4 Replies)
Discussion started by: kchinnam
4 Replies

8. Shell Programming and Scripting

Using env variables to run a program

Hi there, I need urgent help with a small program that is run via shell script. Unfortunately I only understand the bare basics of shell scripting and can't figure out how to do this. We have a program that tests the connection between 3 servers. I have a script that lets the program run on... (15 Replies)
Discussion started by: Pherdinand
15 Replies

9. UNIX for Dummies Questions & Answers

Set env variables for user

Hi , I have installed oracle in Solaris machine and unable to set the env variable. I tried to put the env variable in .dtprofile file but didn't help. So everytime I login in need to run the command and export the variable. Kindly suggest where I am doing wrong.Pls excuse as I am not too... (2 Replies)
Discussion started by: Rossdba
2 Replies
eatmydata(1)						      General Commands Manual						      eatmydata(1)

NAME
eatmydata - transparently disable fsync() and other data-to-disk synchronization calls SYNOPSIS
eatmydata [--] command [ command arguments ... ] DESCRIPTION
eatmydata runs a command in the environment where data-to-disk synchronization calls (like fsync(), fdatasync(), sync(), msync() and open() O_SYNC / O_DSYNC flags) have no effect. LD_PRELOAD library libeatmydata overrides respective C library calls with custom functions that don't trigger synchronization but return success nevertheless. You may use eatmydata in two ways. In normal mode, just execute eatmydata directly and pass a command-to-be-run and its arguments via com- mand line. In order to use symlink mode, create a symlink to /usr/bin/eatmydata with the filename (a.k.a basename) of another program in the PATH and execute eatmydata via that symlink. Then eatmydata will find that program in the PATH and run it in the libeatmydata environ- ment repassing all command line options. OPTIONS
Please note that eatmydata does not process any command line options in symlink mode. All command line options will be repassed to the underlying executable as-is. command The command to execute. It may be either a full path or the name of the command in PATH. In case command cannot be found in PATH, eatmydata will fail. command arguments Arbitrary number of arguments to pass to the command being executed. -- Optional command separator for compatibility with similar utilities. Ignored at the moment. EXAMPLES
Given PATH is /usr/bin and both /usr/bin/aptitude and /usr/bin/eatmydata are installed, the following: $ ln -s /usr/bin/eatmydata ./aptitude $ ./aptitude moo is equivalent to: $ eatmydata -- aptitude moo Therefore, you may use symlink mode to automatically run specific programs in the libeatmydata environment whenever you run them from PATH. For example, given standard PATH settings, just do: # ln -s /usr/bin/eatmydata /usr/local/bin/aptitude and enjoy sync-free aptitude system-wide. AUTHOR
The eatmydata wrapper around libeatmydata LD_PRELOAD library was written by Modestas Vainius <modax@debian.org> November 2010 eatmydata(1)
All times are GMT -4. The time now is 07:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy