-
Notifications
You must be signed in to change notification settings - Fork 441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can I run just commands in current shell? #1957
Comments
Why doesn't it work to export the shell variable as an environment variable? Running commands in the same shell from which
then run it as |
doing this could not read var from the same shell from which just is invoked. In my scenario, I need to source some script, which import a bunch of variables and function in current shell, and since it only work on current shell and not exported, I could not easily pass it to subshell. In another scenario, I need to do something like:
I could not pass variables between recipes, even just variables itself is not persistent among just commands. My workaround right now is to save thease variables in file and read it in every recipes, but the case is I may need to reuse these variable for many times :
|
What happens if you try to export the variables it sets? For example, if the script does
then, with the
|
It should works fine. The problem is there are many variables and functions been set by a script, which means I need to export all of them, also it may contaminate other sciprt environment. I tried dot-env file to preserve the envrionment but it seems not working very well. Some special characters could cause problem when auto loading them. |
You could do this with a shebang recipe, like so:
Does that work? |
Not really, if the environment could not pass to other command, I need to repleatly source some script and sometimes need to workaround for some side effect from other commands. (most of them likely some environment issue, or maybe subprocess) command_a:
#!/bin/bash
source {{justfile_directory()}}/env.sh > /dev/null
command a
command_b:
#!/bin/bash
source {{justfile_directory()}}/env.sh > /dev/null
# need to do some trick to repeat what happend in command a
command b |
this work fine for adding export PATH=etc...
|
I realized the problem is env.sh contain some code that could not be execute in just,
|
I want to do something like below, so I can retrieve some variable set from same shell:
var=a
justfile:
show:
echo $var
The text was updated successfully, but these errors were encountered: