blob: 0a5b4588343f6b761a08e9010121be214a774c48 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#!/bin/bash
# maintainer: when adding items update three places:
# usage(), show_all(), and show_item()
#
# note: report LINUXCNVERSION=$EMC2VERSION (as does linuxcnc.in)
function usage () {
cat <<EOF
Retrieve Linuxcnc Variables
Usage:
$(basename $0) [ varname | all ]
Varnames supported:
LINUXCNCVERSION
REALTIME
SIMULATOR
Option 'all' returns varname=value for all supported varnames
EOF
exit 1
}
function show_all () {
echo "LINUXCNCVERSION=@EMC2VERSION@
REALTIME=@REALTIME@
SIMULATOR=@SIMULATOR@"
}
function show_item () {
case $1 in
LINUXCNCVERSION) echo @EMC2VERSION@;;
REALTIME) echo @REALTIME@;;
SIMULATOR) echo @SIMULATOR@;;
all) show_all;;
*) echo UNKNOWN; exit 1;;
esac
}
case $# in
0) usage;;
1) show_item $1;;
*) usage;;
esac
exit 0
# Example shell usage to populate environment in a sourced script:
# for line in $(linuxcnc_var all) ; do
# name=${line%%=*}
# value=${line##*=}
# echo "name=$name value=$value"
# export "$name"="$value"
# done
# Example tcl usage:
# foreach line [exec linuxcnc_var all] {
# set l [split $line =]
# set name [lindex $l 0]
# set value [lindex $l 1]
# set V($name) $value
# }
# parray V
# Example python usage:
# import subprocess
# s = subprocess.Popen(['linuxcnc_var','all']
# ,stdout=subprocess.PIPE
# ,stderr=subprocess.PIPE
# p,e = s.communicate()
# v={}
# for line in p.split('\n'):
# if line == '': continue
# name = line.split('=')[0]
# value = line.split('=')[1]
# v[name] = value
# print(v)
|