+
+#
+# We prefer to use /bin/csh because the exit status of a pipeline
+# is non-zero if any command is non zero. In contrast, /bin/sh
+# and /bin/bash use the convention that the exit status is just
+# the exit status of the last command of the pipeline.
+#
+my @shell;
+if ( -x "/bin/csh" ) {
+ @shell = ("/bin/csh", "-cf");
+} elsif ( -x "/bin/sh" ) {
+ @shell = ("/bin/sh", "-c");
+} else {
+ print("Error: Can't find executable /bin/csh or /bin/sh\n");
+ exit(1);
+}