summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>2000-08-09 20:36:15 +0000
committerBrian Somers <brian@FreeBSD.org>2000-08-09 20:36:15 +0000
commit6c2ccd0a611a01d46cfaf66bc4d8e1f97d50dfc2 (patch)
tree198863aac9379973da20953445f8831ce8c34d43
parentfc35953a16ec6e76be7ec0226d3e4a19d76f5200 (diff)
Notes
-rwxr-xr-xusr.sbin/mergemaster/mergemaster.sh21
1 files changed, 14 insertions, 7 deletions
diff --git a/usr.sbin/mergemaster/mergemaster.sh b/usr.sbin/mergemaster/mergemaster.sh
index b12c1f841d27..844b3ada6af1 100755
--- a/usr.sbin/mergemaster/mergemaster.sh
+++ b/usr.sbin/mergemaster/mergemaster.sh
@@ -252,15 +252,14 @@ echo ''
#
case "${DONT_CHECK_PAGER}" in
'')
- while [ "${PAGER}" != "more" -a -n "${PAGER}" -a ! -x "${PAGER%% *}" ]; do
+ while ! type "${PAGER%% *}" >/dev/null && [ -n "${PAGER}" ]; do
echo " *** Your PAGER environment variable specifies '${PAGER}', but"
- echo " I cannot execute it. In general it is good practice to"
- echo " specify the full path for environment variables like"
- echo " PAGER and EDITOR. Meanwhile, what would you like to do?"
+ echo " due to the limited PATH that I use for security reasons,"
+ echo " I cannot execute it. So, what would you like to do?"
echo ''
echo " Use 'e' to exit mergemaster and fix your PAGER variable"
- if [ -x /usr/local/bin/less ]; then
- echo " Use 'l' to set PAGER to /usr/local/bin/less for this run"
+ if [ -x /usr/bin/less -o -x /usr/local/bin/less ]; then
+ echo " Use 'l' to set PAGER to 'less' for this run"
fi
echo " Use 'm' to use plain old 'more' as your PAGER for this run"
echo ''
@@ -272,8 +271,16 @@ case "${DONT_CHECK_PAGER}" in
exit 0
;;
[lL])
- if [ -x /usr/local/bin/less ]; then
+ if [ -x /usr/bin/less ]; then
+ PAGER=/usr/bin/less
+ elif [ -x /usr/local/bin/less ]; then
PAGER=/usr/local/bin/less
+ else
+ echo ''
+ echo " *** Fatal Error:"
+ echo " You asked to use 'less' as your pager, but I can't"
+ echo " find it in /usr/bin or /usr/local/bin"
+ exit 1
fi
;;
[mM]|'')