Why the Bamboo $PATH variable is different

homeniuk December 21, 2014

Hi,

I would like to know why the command echo $PATH is different in terminal and Bamboo CLI Task. In Terminal looks like

bamboo@vagrant-ubuntu-trusty-64:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/bamboo/.rvm/bin

and within the task like this

22-Dec-2014 10:48:14
Starting task 'echo $PATH' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script'
22-Dec-2014 10:48:14
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
22-Dec-2014 10:48:14
Finished task 'echo $PATH' with result: Success

 

Any idea why this both commands return different results?

1 answer

1 accepted

1 vote
Answer accepted
Mike Friedrich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 22, 2014

Paths are derived from parent processes and if there is none from the users and the global profile (Linux service). So basically the path depends on how a process is started.

homeniuk December 22, 2014

Hi @Mike Friedrich, thanks for your answer! The solution of my problem was the following line in the startup script in /etc/init.d. /bin/su -m $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null" I replace the -m argument with an normal hyphen (-), so the bamboo start with login shell of the bamboo user /bin/su - $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null"

Mike Friedrich
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
December 22, 2014

I would always prefer the single dash way, also for security reasons. Make sure there is no variable in the init script which the startup.sh needs.

Paul Fink January 5, 2015

I agree with MIke. You could set the PATH in startup.sh that way its not dependent on the interactive login account.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events