1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/sh
- die()
- {
- echo "$*" >&2
- exit 1
- }
- usage()
- {
- echo "Usage: run-linuxcnc-demo.sh [/path/to/linuxcnc]"
- echo
- echo " /path/to/linuxcnc: Path to 'linuxcnc' start script"
- }
- if [ $# -ge 1 ] && [ "$1" = "-h" -o "$1" = "--help" ]; then
- usage
- exit 0
- fi
- if [ $# -eq 0 ]; then
- linuxcnc="linuxcnc"
- elif [ $# -eq 1 ]; then
- linuxcnc="$1"
- else
- usage
- exit 1
- fi
- # basedir = directory where this script lives in
- basedir="$(dirname "$0")"
- [ "$(echo "$basedir" | cut -c1)" = '/' ] || basedir="$PWD/$basedir"
- # rootdir = root of the pyprofibus repository
- rootdir="$basedir/../../.."
- [ -x "$rootdir/pyprofibus-linuxcnc-hal" ] || die "pyprofibus-linuxcnc-hal not found"
- cleanup()
- {
- rm -f "/tmp/linuxcnc-demo.ngc"
- }
- cleanup
- trap cleanup EXIT
- cp "$basedir/linuxcnc-demo.ngc" /tmp/ || die "Failed to copy linuxcnc-demo.ngc"
- # Start LinuxCNC
- (
- cd "$basedir" || die "Failed to 'cd $basedir'"
- PATH="$rootdir/:$PATH"\
- PYTHONPATH="$rootdir/:$PYTHONPATH"\
- "$linuxcnc" "$basedir/linuxcnc-demo.ini" ||\
- die "LinuxCNC exited with an error"
- )
|