How best to include other scripts?
bash
Solution
I tend to make my scripts all be relative to one another. That way I can use dirname:
#!/bin/sh
my_dir="$(dirname "$0")"
"$my_dir/other_script.sh"
Problem
The way you would normally include a script is with "source" eg: main.sh: ``` #!/bin/bash source incl.sh echo "The main script" ``` incl.sh: ``` echo "The included script" ``` The output of executing "./main.sh" is: ``` The included script The main script ``` ... Now, if you attempt to execute that shell script from another location, it can't find the include unless it's in your path. What's a good way to ensure that your script can find the include script, especially if for instance, the script needs to be portable?