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?
If your scripts are intended to run by a single user you can place them in ~/bin. If your scripts are system-wide you can probably place them in /usr/local/bin. If your scripts are meant to be only used under special circumstances or environments you can put them even in /opt/myscripts and add this directory to $PATH.
The command to do this is CTRL-B :setw synchronize-panes on. Now you can run scriptName $fruit and view the output on all panes at the same time.
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"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With