.. index:: single: file location (tutorial) single: ECF_INCLUDE (tutorial) single: ECF_FILES (tutorial) single: ECF_OUT (tutorial) single: script management (tutorial) .. _tutorial-file-location: File location ============= | We have seen so far that :term:`ecflow_server` is looking for the files it needs in specific locations. | You can control the location of your files by using the following :term:`variable`\ s * ECF_INCLUDE Is where :term:`ecflow_server` will look for include files. * ECF_FILES Is where :term:`ecflow_server` will look for the :term:`ecf script`\ s if they are not at their default location. * ECF_OUT Is where the job output files will go. | If two tasks use the same :term:`ecf script`, and are simply using different values of the same :term:`variable`\ s, | you do not want to maintain several copies of the same file. | You can use the same script in multiple places within your :term:`suite` and using the same name | by keeping the script into a common directory and pointing to this location using the :term:`variable` ECF_FILES. | Many users use just one directory for their scripts and point to this directory with ECF_FILES. If the tasks have different names, you can use the unix command :command:`ln -s` to create several names for the same file. **What to do:** 1. Try to imagine how we could use ECF_FILES and **ln** to reduce the number of scripts in our example suite