Este es mi código:sola línea si la declaración en un script de shell que no trabaja
#!/bin/bash
cat input$1 | ./prog$1 > output$1 && if[ "$2" != "" ]; diff output$1 expected$1;
Esto sucede a continuación:
$ ./run.sh
./run.sh: line 2: if[ no != ]: command not found
$
pensé que podría funcionar si las declaraciones en una línea? ¿ese es el problema?
se puede acortar de que un poco: './prog$1 < input$1 > salida de $ 1 && [ "$ 2"= ""!] && diff salida de $ 1 esperado $ 1' –