en la línea de comando puedo diferenciar la salida de dos comandos con
$ diff <(cmd1) <(cmd2)
pero si pongo esto en un script de shell
$ sh do_two_comands_diff.sh
No funciona
$ diff <(ls) <(ls -a)
0a1,2
> .
> ..
$ cat > test_diff.sh
diff <(ls) <(ls -a)
^D
$ sh test_diff.sh
test_diff.sh:1: test_diff.sh: Syntax error: "(" unexpected
Traté de usar $ () en su lugar () sin éxito. Sé que dentro del shell a veces las cosas deben hacerse de una manera diferente que en la consola, pero aquí no tengo ni idea. ¿Podría alguien ser tan amable de señalarme los enlaces correctos para aprender cómo hacer esto correctamente dentro de un shell y por qué sucede esto?
pags.
linux
command-line
bash
shell
Pablo Marin-Garcia
fuente
fuente