1

I would like to run a python command that return true or false inside a bash script:

#!/usr/bin/env bash

Some stuff...
boolean = $(python -c "bool(...operations...)")

The code above is just to sketch the idea. I need boolean to be false or true (bash boolean values) depending on the result of ...operations.... The code above is not working: boolean results to be an empty variable.

3 Answers 3

2

bool=$(python -c 'print(bool("abc"))') works as expected.

Note that this will return True or False not true or false (i.e., capitalized).

Sign up to request clarification or add additional context in comments.

Comments

1

xonsh shell should be useful for such mixing of bash and python

Comments

1

Bash has no preconception on boolean values, but if you need your bool to be either false or true, then you can use this snippet

bool=$(python -c 'print("true" if ...operations... else "false")')

E.G.,

$ for a in 4 5 ; do
>    bool=$(python -c 'print("true" if '$a' == 4 else "false")')
>    echo $bool
> done
true
false
$

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.