Answer the question
In order to leave comments, you need to log in
Is it possible to run a bash script in the current process?
I have a simple script:
#!/bin/bash
export HOSTNAME=ora19c.localdomain
echo $HOSTNAME
HOSTNAME_2=ora19c.localdomain2
echo $HOSTNAME_2
[[email protected] scripts]# ./ora_var.sh
ora19c.localdomain
ora19c.localdomain2
Answer the question
In order to leave comments, you need to log in
man bash
/source
source filename [arguments]
Read and execute commands from filename in the current shell
environment and return the exit status of the last command
executed from filename. If filename does not contain a slash, file
names in PATH are used to find the directory containing filename
. The file searched for in PATH need not be executable.
When bash is not in posix mode, the current directory is
searched if no file is found in PATH. If the sourcepath option
to the shopt builtin command is turned off, the PATH is not
searched. If any arguments are supplied, they become the positional
parameters when filename is executed. Otherwise the
positional parameters are unchanged. The return status is the
status of the last command exited within the script (0 if no
commands are executed), and false if filename is not found or
cannot be read.
However, I cannot access any of the script-initiated variables in the current process. As I understand it, this happens because the script is executed by a separate process, and there is no possibility to export the variable to a higher level.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question