/usr/lib/staden/bin/trev is in staden 2.0.0+b11-2.
This file is owned by root:root, with mode 0o755.
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 | #!/bin/sh
# Finds the directory holding this program
find_dir() {
arg0=$0
# Protect against ls, sed and echo being exported shell functions.
# Eg ls() { ls -F ${@+"$@"} }; export ls
unset ls
unset sed
unset echo
orig_dir=`pwd`
must_loop=yes
# The looping is to protect against symbolic links. We find the location
# of arg0, but if arg0 is a link to elsewhere then we go around again
# finding its location (noting that symlinks may be ether relative
# or full pathnames).
while [ -n "$must_loop" ]
do
cur_dir=`pwd`
# Find directory that $arg0 resides in
case "$arg0" in
/*)
# Full pathname, not much to do
dir=`echo $arg0 | sed 's:/[^/]*$::'`
;;
*)
# Relative pathname, add current directory.
dir=`echo $cur_dir/$arg0 | sed 's:/[^/]*$::'`
;;
esac
if [ -h "$arg0" ]
then
# NOTE: This statement will not work when $arg0 is a filename
# containing "-> ".
lnto=`ls -l -- "$arg0" | sed 's/.*-> //'`
lndir=`echo $lnto | sed 's:/[^/]*$::'`
case $lndir in
/*)
# Absolute symlink
dirto=$lndir
;;
*)
# Relative symlink
dirto=`echo "$arg0" | sed "s:/[^/]*\$:/$lndir:"`
;;
esac
cd "$dirto"
arg0=`echo "$lnto" | sed 's:.*/::'`
must_loop=yes
else
must_loop=
fi
done
# To tidy up cases with ../ and ./ we cd to the directory, getcwd, and then
# cd back again
cd "$dir"
dir=`pwd`
cd "$orig_dir"
echo $dir
}
#
# Run it!
#
STADENROOT=${STADENROOT:-`find_dir $0`/..}; export STADENROOT
if [ ! -f "$STADENROOT"/share/staden/staden.profile ] ; then
STADENROOT=/usr
fi
STADEN_PREPEND=1; export STADEN_PREPEND
. "$STADENROOT"/share/staden/staden.profile
# Find tclsh vs tclsh8.5
exec tclsh8.6 "$STADTCL/trev/trev.tcl" ${@+"$@"}
|