Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Shell interpreter and inline bash script on Windows

We're trialling Bamboo 6.10 on a Windows 2008 server (soon to be upgraded to 2019) and I've got some shell code to perform file modifications using "sed" at the end of the build. 

The docs at https://confluence.atlassian.com/bamboo/script-289277046.html for the "Shell" option under "Interpreter" say:

This option selects the interpreter based on the first line of the script, typically using the shebang.

So I've selected "Shell" for the interpreter option, selected "Inline" for the script location option, and the full inline script I'm trying to run looks like this:

"C:/Program Files/Git/bin/bash.exe"

sed -i '/version=/c\version=${bamboo.jira.version}' gradle.properties
sed -i '/window.APP_VERSION =/c\window.APP_VERSION = ${bamboo.jira.version};' HtmlClient/src/setup.js.temp

A screenshot of the full script configuration inside the Bamboo job in case it's useful:

BambooJob.png

When i run the build plan the build just hangs forever on the first line as if it is running bash.exe and awaiting input, rather than using that bash.exe path to run the commands that follow. Using a shebang "#" in front of the bash path doesn't work either as an error is thrown due to "#" not being recognised.

The last comment by Przemek Bruski on 02/Sep/2016 4:30 PM in the issue https://jira.atlassian.com/browse/BAM-13383 suggests a second issue https://jira.atlassian.com/browse/BAM-17864 was raised to address this type of scenario. This second issue is marked as fixed so it sounds like this should be possible. 

Is what I'm trying to achieve here actually possible or do I just have to rewrite the script using cmd.exe or Powershell instead?

Any guidance is appreciated :)

 

1 answer

1 accepted

2 votes
Answer accepted

Hello @Phillip_Bonner

Thank you for sharing your findings, they saved me some time when investigating this.

According to my tests your inline script should start with:

#!c:\progra~1\git\bin\bash.exe

⚠️ No spaces in the path and no surrounding quotes.
This is the default format of shebang (which comes from Unix systems).


I've updated [BAM-17864] In script task, parse the shebang line and execute that interpreter directly in order to save the time of other users that might reach the same bug report.

Please let me know if that will fix the issue. =]

That did the trick thank you!

Like Daniel Santos likes this

That is great! You are welcome!

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bamboo

Bamboo 7.1 is here and is packed with value!

I'm happy to announce that Bamboo 7.1 has been released and it’s overflowing with awesome new features. Top-voted issues First and foremost, a bunch of JAC top voted issues has been delivered - y...

653 views 1 6
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you