O ponto complicado é escapar corretamente do $
em $?
e de todas as aspas aninhadas. E isso é realmente um pesadelo quando você tem um ninho tão profundo:
-
cmd
é definido como"..."
- dentro de que há
konsole -e '...'
- dentro de que há
bash -c "..."
- dentro disso, há
echo '...'
eread '...'
Além disso, você também precisa considerar as regras de escape do Sublime, o que faz escrever isso corretamente um verdadeiro pesadelo, e impossível de forma legível.
Em vez de tentar consertar isso,
Eu recomendo extrair o comando complexo em um script que usa $file_name
e $file_base_name
como parâmetros, assim:
"cmd" : ["/path/to/build.sh '$file_name' '$file_base_name'"],
Em seguida, você pode escrever /path/to/build.sh
como qualquer script de shell,
livre das regras de análise do Sublime,
e fácil de testar de forma independente.