This file is indexed.

/etc/joe/shell.sh is in joe 4.6-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# Aliases for sh/dash/ash/bash/ksh/zsh in JOE shell window

joehelp () {
	echo "clear         - erase buffer"
	echo "joe           - edit file"
	echo "math 1+2      - calculator"
	echo "pop           - dismiss shell"
	echo "parse [cmd]   - grep parse command"
	echo "parserr [cmd] - compile parse command"
	echo "release       - drop parsed messages"
	echo "markb         - mark beginning of region"
	echo "markk         - mark end of region"
	echo "mark cmd      - mark output of command"
}

# Clear edit buffer
joe_clear () {
	echo -n '{'shell_clear'}'
}

# Release errors
joe_release () {
	echo -n '{'shell_release'}'
}

# Set marked region beginning
joe_markb () {
	echo -n '{'shell_markb'}'
}

# Set marked region end
joe_markk () {
	echo -n '{'shell_markk'}'
}


# Mark command result
joe_mark () {
	joe_markb
	$*
	joe_markk
}

# Parse command result (or whole buffer if no arg)
joe_parse () {
	if [ "$1" = "" ]; then
		echo -n '{'shell_gparse'}'
	else
		joe_markb
		$*
		joe_markk
		echo '{'shell_gparse'}'
	fi
}

# Parse command result (or whole buffer if no arg)
joe_parserr () {
	if [ "$1" = "" ]; then
		echo '{'shell_parse'}'
	else
		joe_markb
		$*
		joe_markk
		echo '{'shell_parse'}'
	fi
}

# Use JOE's calculator
joe_math () {
	echo -n '{'shell_math,'"'$1'"',shell_rtn!,shell_typemath'}'
	cat >/dev/null
}

# Edit a file
joe_edit () {
	echo -n '{'shell_edit,'"'$1'"',shell_rtn'}'
}

# Pop shell window
joe_pop () {
	echo -n '{'shell_pop'}'
}

unalias cd 2>/dev/null

# Change directory
joe_cd () {
	# cd $1    - does not work for directories with spaces in their names
	# cd "$1"  - breaks cd with no args (it's supposed to go to home directory)
	# So we have do this...
	if [ "$1" = "" ]; then
		cd
	else
		cd "$1"
	fi
	# Tell JOE our new directory
	echo -n '{'shell_cd,shell_dellin!,'"'`pwd`/'"',shell_rtn'}'
}

alias clear=joe_clear
alias math=joe_math
alias edit=joe_edit
alias joe=joe_edit
alias pop=joe_pop
alias cd=joe_cd
alias parse=joe_parse
alias parserr=joe_parserr
alias release=joe_release
alias markb=joe_markb
alias markk=joe_markk
alias mark=joe_mark

# Code to automatically mark and parse output from each command
# - This is bash specific code

#joe_markb_pre () {
#	joe_markb
#	MARK_FLAG=1
#}

#joe_markk_post () {
#	if [ "$MARK_FLAG" = "1" ]; then
#		joe_markk
#		MARK_FLAG=0
#		joe_parse
#	fi
#}

#preexec () { :; }

#preexec_invoke_exec () {
#    [ -n "$COMP_LINE" ] && return  # do nothing if completing
#    [ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return # don't cause a preexec for $PROMPT_COMMAND
#    local this_command=`HISTTIMEFORMAT= history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//"`;
#    joe_markb_pre
#    preexec "$this_command"
#}

#trap 'preexec_invoke_exec' DEBUG

#PROMPT_COMMAND=joe_markk_post

joe_clear

echo
echo Type joehelp for editor shell commands
echo