Guest User

Untitled

a guest
Jan 17th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. trap "kill 0" SIGINT
  4.  
  5. HOST=$(cut -d':' -f1 <<<$1)
  6. TEX_PATH=$(cut -d':' -f2 <<<$1)
  7.  
  8. DIR=`dirname $TEX_PATH`
  9. FILE=`basename $TEX_PATH`
  10.  
  11. PDF="${FILE/tex/pdf}"
  12.  
  13. # Script that compiles the LaTeX file on change
  14. SCRIPT=$(<<'EOF'
  15. cd "$DIR"
  16. CHECKSUM=$(cksum "$FILE");
  17. while true;
  18. do if [ \"$(cksum $FILE )\" != \"CHECKSUM\" ]; then
  19. pdflatex -interaction -nonstopmode -file-line-error "$FILE" > /dev/null;
  20. CHECKSUM=$(cksum "$FILE");
  21. else sleep 0.1;
  22. fi;
  23. done;
  24. EOF
  25. )
  26.  
  27. # Execute the script on the target machine
  28. ( ssh $HOST $SCRIPT ) &
  29.  
  30. # Copy back the compiled pdf
  31. ( while true; do rsync -cz "$HOST:$DIR/$PDF" . 2> /dev/null; sleep 0.5; done ) &
  32.  
  33. ssh $HOST
  34. kill 0
Add Comment
Please, Sign In to add comment