I am writing a training tool, it is written in bash to teach bash/unix.
I want a script to run to set things up, then to hand control to the user. I want it to be easi
Try making it an alias in your ~/.bashrc file. Add this to the bottom of ~/.bashrc:
alias tutorial='. tutorial/bashrc'
Then close and re-open your terminal, or type . ~/.bashrc
to re-source it.
To use this alias, simply call tutorial
, and that will automatically get replaced with its alias, as though you had called . tutorial/bashrc
.
There are several options:
source
or .
;The first is obvious; I write a little bit more details about the second.
For that, you use --init-file
option:
bash --init-file my-init-script
You can even use this option in the shebang line:
#!/bin/bash --init-file
And then you start you script as always:
./script-name
Example:
$ cat ./script-name
#!/bin/bash --init-file
echo Setting session up
PS1='.\$ '
A=10
$ ./script-name
Setting session up
.$ echo $A
10
.$ exit
$ echo $A
$
As you can see, the script has made the environment for the user and then has given him the prompt.