File: shellsexp

package info (click to toggle)
modules 5.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 23,036 kB
  • sloc: exp: 79,659; sh: 6,142; tcl: 5,900; makefile: 1,492; ansic: 474; python: 265; csh: 202; perl: 47; ruby: 44; lisp: 13
file content (127 lines) | stat: -rw-r--r-- 3,071 bytes parent folder | download | duplicates (3)
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#%Module1.0

##############################################################################
#   Modules Revision 3.0
#   Providing a flexible user environment
#
#   File:		info/%M%
#   Revision:		%I%
#   First Edition:	95/12/06
#   Last Mod.:		%U%, %G%
#
#   Authors:		Jens Hamisch, Jens.Hamisch@Strawberry.COM
#
#   Description:	Testuite modulefile
#   Command:
#   Sub-Command:	setenv, module-info shell, module-info shelltype
#
#   Invocation:		load @M@/@V@
#   Result:	%R{
#			setenv	_LMFILES_ 	${_LMFILES_}:@M@/@V@
#			setenv	LOADEDMODULES	${LOADEDMODULES}:@P@/@M@/@V@
#			setenv	testsuite	@S@/@ST@
#		}R%
#   Comment:	%C{
#			The 'module-info shell' command returns the 
#			user shell as specified as the first argument
#			to modulecmd.
#			'module-info shelltype' returns the name of the
#			shell defining the syntax of the command output
#			modulecmd writes.
#			This modulefile checks the shell and shelltype
#			probing.
#		}C%
#			
##############################################################################

#
#  check all known shells in order to set up the return
#  value. 
#  I know, this isn't very effective, but it's a test!
#

set sh ""

if { [module-info shell sh] } {
    set sh "sh"
} elseif { [module-info shell ksh] } {
    set sh "ksh"
} elseif { [module-info shell zsh] } {
    set sh "zsh"
} elseif { [module-info shell bash] } {
    set sh "bash"
} elseif { [module-info shell csh] } {
    set sh "csh"
} elseif { [module-info shell tcsh] } {
    set sh "tcsh"
} elseif { [module-info shell fish] } {
    set sh "fish"
} elseif { [module-info shell tcl] } {
    set sh "tcl"
} elseif { [module-info shell cmd] } {
    set sh "cmd"
} elseif { [module-info shell perl] } {
    set sh "perl"
} elseif { [module-info shell python] } {
    set sh "python"
} elseif { [module-info shell ruby] } {
    set sh "ruby"
} elseif { [module-info shell lisp] } {
    set sh "lisp"
} elseif { [module-info shell cmake] } {
    set sh "cmake"
} elseif { [module-info shell r] } {
    set sh "r"
} elseif { [module-info shell pwsh] } {
    set sh "pwsh"
} else {
    set sh "unknown"
}

#
#  check all known shell types in order to set up the return
#  value.
#

set sht ""

if { [module-info shelltype sh] } {
    set sht "sh"
} elseif { [module-info shelltype csh] } {
    set sht "csh"
} elseif { [module-info shelltype fish] } {
    set sht "fish"
} elseif { [module-info shelltype tcl] } {
    set sht "tcl"
} elseif { [module-info shelltype cmd] } {
    set sht "cmd"
} elseif { [module-info shelltype perl] } {
    set sht "perl"
} elseif { [module-info shelltype python] } {
    set sht "python"
} elseif { [module-info shelltype ruby] } {
    set sht "ruby"
} elseif { [module-info shelltype lisp] } {
    set sht "lisp"
} elseif { [module-info shelltype cmake] } {
    set sht "cmake"
} elseif { [module-info shelltype r] } {
    set sht "r"
} elseif { [module-info shelltype pwsh] } {
    set sht "pwsh"
} else {
    set sht "unknown"
}

#
#  This is, what's being returned
#

setenv testsuite "$sh/$sht"

#
#  Cleanup
#

unset sh
unset sht