When you use multiple commit scripts, each script evaluates the original candidate configuration file. Changes made by one script are not evaluated by the other scripts. This means that conflicts between scripts might not be resolved when the scripts are first applied to the configuration. The evaluation order for commit scripts is based on the order that the commit scripts are listed at the [edit system scripts commit] hierarchy level. See Figure 6.
Figure 6: Configuration Evaluation by Multiple Commit Scripts

For example, the commit script A.xsl was added to a router to check its configuration. Among other configuration checks, A.xsl ensures that the domain name server (DNS) is set to 192.168.0.255. Later, this DNS server’s address was changed to 192.168.255.255 and a second script, B.xsl, was added to all servers to check that the DNS server was changed to the new address.
When both of these two scripts are run, depending on the original value of the candidate configuration, either script A.xsl or script B.xsl is invoked. If the original candidate configuration lists the incorrect DNS server address of 192.168.0.255, script B.xsl will update the value to 192.168.255.255. However, if the original candidate configuration includes the correct address of 192.168.255.255, script A.xsl will update the value to 192.168.0.255.
Exercise care to ensure that you do not introduce conflicts between scripts like those described in the example. As a method of checking for conflicts with persistent changes, you can issue two separate commit commands.