Por que "[1> 2]" é avaliado como True?
Eu tenho dois arquivos:
f1.txt:
1
dest / f1.txt:
1
2
Quando eu corrowc -l
em ambos os arquivos no terminal linux - recebo meus resultados esperados:
$ wc -l < f1.txt
$ 1
$ wc -l < dest/f1.txt
$ 2
Mas quando executo o seguinte arquivo .sh:
#!/bin/bash
if [ $(wc -l < f1.txt) > $(wc -l < dest/f1.txt) ]; then
echo -e "f1 has more lines"
else
echo -e "f1 doesn't have more lines"
fi
A saída é:
f1 has more lines
Você pode explicar como isso é possível?