To jest mój kod:pojedynczej linii if w skrypcie powłoki nie działa
#!/bin/bash
cat input$1 | ./prog$1 > output$1 && if[ "$2" != "" ]; diff output$1 expected$1;
To wtedy dzieje:
$ ./run.sh
./run.sh: line 2: if[ no != ]: command not found
$
Myślałem, że mogę uruchomić if w jednym wierszu? czy to właśnie jest problem?
Można skrócić że nieco: './prog$1 < input$1 > wyjście $ 1 && [ "$ 2"= ""!] && diff wyjście $ 1 oczekiwano $ 1' –