Junio C Hamano <gits...@pobox.com> writes: > Tom Russello <tom.russe...@grenoble-inp.org> writes: > >> +# Check if two files have the same content, non-order sensitive >> +test_cmp_noorder () { >> + sort $1 >$1; > > Here is what I think happens: > > 0) the shell parses this command line; > 1) the shell notices that the output has to go to $1; > 2) the shell does open(2) of $1, > 3) the shell spawns "sort" with a single argument, with its > output connected to the file descriptor obtained in 2). > > Because "$1" becomes an empty file at 2), "sort" reads nothing and > writes nothing.
Tom: in case you're not convinced, try this: $ (echo b; echo a) >f $ sort f a b $ sort f >f $ cat f $ Also, useless ';' and missing double-quotes around "$1" to avoid bad surprises ifever test_cmp_noorder is called on file names with special characters. -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html