Corrected exit statuses in chertex.sh to zero for success and one otherwise.

master
Taha Ahmed 8 years ago
parent 97e446e480
commit 1e6ce316f1

1
.gitignore vendored

@ -5,3 +5,4 @@ PlotDigitizer.jar
jpeglib.h
nbconvert/
sketch/
nohup.out

@ -13,7 +13,7 @@ clear
echo "-----------------------------------------------------------------------"
echo "cheRTeX -- a script for processing R--Sweave/knitr--LaTeX/TikZ projects"
echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
echo "MMXIV -- taha.ahmed@kemi.uu.se -- CHEPEC doctoral degree project"
echo "MMXVI -- taha@chepec.se -- CHEPEC doctoral degree project"
echo "-----------------------------------------------------------------------"
## If the file .latexmkrc exists in the current directory,
@ -59,7 +59,7 @@ if [ $# -eq 1 ]; then
fi
# Introducing a short delay to enable on-screen reading of previous echo
/home/taha/chepec/chetex/common/bash/simpledelay.sh 2
simpledelay.sh 2
echo "Delay completed"
@ -76,8 +76,8 @@ if [ $# -eq 1 ]; then
bash -c "/home/taha/chepec/chetex/common/bash/shiny-matrix.sh" &
# terminate this script
echo "<cheRTeX> Terminating..."
/home/taha/chepec/chetex/common/bash/simpledelay.sh 4
exit 1
simpledelay.sh 4
exit 0
fi
@ -102,7 +102,7 @@ if [ $# -eq 1 ]; then
echo "<cheRTeX> -----------------------"
echo "<cheRTeX> Rscript knitr completed"
echo "<cheRTeX> -----------------------"
/home/taha/chepec/chetex/common/bash/simpledelay.sh 4
simpledelay.sh 4
else
# Run pgfSweave commands
echo "<cheRTeX> ---------------------------"
@ -120,7 +120,7 @@ if [ $# -eq 1 ]; then
echo "<cheRTeX> -------------------------"
echo "<cheRTeX> R CMD pgfsweave completed"
echo "<cheRTeX> -------------------------"
/home/taha/chepec/chetex/common/bash/simpledelay.sh 4
simpledelay.sh 4
fi
# Run vc script if vc exists in working directory
@ -132,11 +132,11 @@ if [ $# -eq 1 ]; then
# Run pdflatex, bibtex, and company
if $ltxmkrc; then
echo "<cheRTeX> Calling LaTeXMK with RC file"
/home/taha/chepec/chetex/common/bash/simpledelay.sh 2
simpledelay.sh 2
latexmk -r .latexmkrc -pdf -bibtex $jobname
else
echo "<cheRTeX> Calling LaTeXMK"
/home/taha/chepec/chetex/common/bash/simpledelay.sh 2
simpledelay.sh 2
latexmk -pdf -bibtex $jobname
fi
@ -184,7 +184,7 @@ else
for tikzfiles in "$tikzfiles"; do tikzfilenumber=${#tikzfiles}; done
echo "cheRTeX detected $tikzfilenumber TikZ files for processing"
echo "Starting TikZ file processing..."
/home/taha/chepec/chetex/common/bash/simpledelay.sh 2
simpledelay.sh 2
for tikzfilename in $tikzfiles; do
# Call tikz2pdf
@ -253,7 +253,7 @@ else
echo "Terminating..."
exit 1
exit 0
fi
## Here is the wild land of more than one *.Rnw file in current directory
@ -266,9 +266,9 @@ fi
echo "------------------------------------"
echo "=== sample-matrix.sh completed ==="
echo "=== chertex.sh completed ==="
echo "=== $(date) ==="
echo "------------------------------------"
/home/taha/chepec/chetex/common/bash/simpledelay.sh 10
simpledelay.sh 10
exit 1
exit 0

@ -3,16 +3,19 @@
## Written Oct 12, 2013
## Taha Ahmed
a="https://mail.google.com"
b="https://rememberthemilk.com"
c="https://chepec.timetask.com"
# a="https://mail.google.com"
b="https://www.rememberthemilk.com"
c="https://asks.timetask.com"
d="https://keep.google.com/keep/"
e="https://luxor.chepec.se/tagspaces/"
f="https://shiny.chepec.se"
# open shiny sample-matrix
# find current port number by reading shiny.port file
PORT=$(</home/taha/chepec/chetex/sample-matrix/shinyapp/shiny.port)
s="http://localhost:$PORT"
# start the local http server for serving PDF reports (used in Shiny sample matrix)
cd /home/taha/chepec
# server runs on port 8000 (default) in the working directory
python /home/taha/chepec/chetex/common/bash/shiny-python-localhost.py &
google-chrome $a $b $c $d $s
# start Chrome
google-chrome $b $c $d $e $f
exit 1

@ -1,115 +0,0 @@
#!/bin/bash
function show_help {
echo "Usage: jekyll-chepec.sh [OPTION]..."
echo "Update, sync and rebuild jekyll blog on damietta"
echo ""
echo "Give no arguments at all to make this script run everything"
echo "-c convert *.Rmd files in _knitr/ to *.md files in _posts/"
echo "-o overwrite existing *.md files if necessary"
echo "-s sync the jekyll directories locally and on damietta"
echo "-b build the live jekyll site on damietta"
echo "-h show this help"
}
# Three cases:
# 1. convert new/existing *.Rmd to *.md, with option to overwrite existing *.md
# 2. sync the jekyll website directory (for that, we use unison)
# 3. build the site (on the server)
# Note that the actions must be done in order, so if the user chooses case 2., 1. is executed first, then 2.
# Likewise, if the user chooses case 3., 1. and 2. are executed first.
# A POSIX variable
# Reset in case getopts has been used previously in the shell.
OPTIND=1
# initialise flags here
# convert new *.Rmd --> *.md?
convert=false
# convert existing *.md files as well?
overwrite_md=false
# sync jekyll directory?
unison_sync=false
# build jekyll site?
buildsite=false
# To do everything, the user could set all the flags (commmand-line options),
# but to make life a little easier, this script will interpret _no arguments_
# as "run everything"
if [ $# -eq 0 ] ; then
convert=true
overwrite_md=true
unison_sync=true
buildsite=true
fi
while getopts "h?cosb" opt; do
case $opt in
c)
convert=true
;;
o)
overwrite_md=true
;;
s)
unison_sync=true
;;
b)
buildsite=true
;;
h|\?)
show_help
exit 0
esac
done
shift $((OPTIND-1))
#### 1. convert new/existing *.Rmd to *.md
# use the function KnitPost() from the R-script render_post
if [ "$convert" = true ] ; then
echo ">>>> jc: Converting RMarkdown to Markdown (overwrite = $overwrite_md)"
if [ "$overwrite_md" = true ] ; then
Rscript -e "source('/home/taha/jekyll/chepec/_knitr/render_post.R'); KnitPost(overwrite=TRUE)"
else
Rscript -e "source('/home/taha/jekyll/chepec/_knitr/render_post.R'); KnitPost()"
fi
fi
#### 2. sync the jekyll website directory
# sync local jekyll folder with damietta
if [ "$unison_sync" = true ] ; then
echo ">>>> jc: Syncing jekyll folder"
unison jekyll-chepec -auto
fi
#### 3. build the site (on the server)
if [ "$buildsite" = true ] ; then
echo ">>>> jc: Building site on damietta"
# runs the build-jchepec.sh script (note that the path is local on damietta)
# this line is fubar and needs to be fixed or circumvented
ssh damietta bash --login -c /home/taha/jekyll/build-jchepec.sh
fi
# give the user a summary
# -- good idea, but do it better
#if [ "$buildsite" = true ] ; then
# echo ">>>> jc: Synced and built jekyll site (overwrite = $overwrite)"
#else
# echo ">>>> jc: Synced jekyll folder (overwrite = $overwrite)"
#fi

@ -0,0 +1,38 @@
#!/bin/bash
## Start Rstudio server in Firefox through an encrypted SSH tunnel
## Written Dec 15, 2014
## Taha Ahmed
# ssh port number
PORT=9996 # matches the port set in firefox profile about:config
# the firefox profile "rstudioserver" has been configured
# using about:config to route all traffic (including DNS requests)
# over the socks proxy
# network.proxy.socks : 127.0.0.1
# network.proxy.socks_port : 9996
# network.proxy.socks.remote_dns : true
# network.proxy.socks_version : 5
# network.proxy.type : 1
# network.proxy.no_proxies_on : localhost, 127.0.0.1
# -f forks the process into the background
# when firefox stops using the tunnel, then
# the ssh client exits (having completed the sleep command)
# -N tells ssh that no commands will be sent (-f complains otherwise)
#ssh -D $PORT -f luxor sleep 10;
firefox -P "rstudioserver" "http://luxor.chepec.se/rstudio"
# (the tunnel is setup using autossh in a startup application)
# Notes:
# proxy flag does not work in Chrome:
# google-chrome --proxy-server="socks5://127.0.0.1:9995" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
# but does work in Chromium, which unfortunately is not supported by Rstudio server
# chromium-browser --proxy-server="socks5://127.0.0.1:9995" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
# See also:
# http://askubuntu.com/questions/469582/how-do-i-set-up-a-local-socks-proxy-that-tunnels-traffic-through-ssh
# http://kb.mozillazine.org/Command_line_arguments
# http://www.chromium.org/developers/design-documents/network-stack/socks-proxy
# http://www.g-loaded.eu/2006/11/24/auto-closing-ssh-tunnels/

@ -1,6 +1,7 @@
#!/bin/bash
## Convert TIFF images into PNG images and create an aggregated PDF
## Written August 20, 2010
## Edited March 21, 2015
## Taha Ahmed
@ -19,4 +20,12 @@ do
done
## dump TIF tags to file
for f in *.tif
do
echo "Printing TIFF tags of $f"
tiffinfo $f > ${f%.*}.txt
done
exit 1

@ -0,0 +1,11 @@
#!/usr/bin/python
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "Serving at port", PORT
httpd.serve_forever()
Loading…
Cancel
Save