must let $PLAN9 be overrided in 9 and 9.rc
diff --git a/bin/9 b/bin/9
index ff1a928..33b0d89 100755
--- a/bin/9
+++ b/bin/9
@@ -1,7 +1,13 @@
 #!/bin/sh
 
-export PLAN9=/usr/local/plan9
-export PATH=$PLAN9/bin:$PATH
+export PLAN9=${PLAN9:-/usr/local/plan9}
+case "$PATH" in
+$PLAN9/bin:*)
+	;;
+*)
+	export PATH=$PLAN9/bin:$PATH
+	;;
+esac
 
 case $# in
 [1-9]*)
diff --git a/bin/9.rc b/bin/9.rc
index 1fb75d2..354976d 100755
--- a/bin/9.rc
+++ b/bin/9.rc
@@ -1,6 +1,7 @@
 #!/usr/local/plan9/bin/rc
 
-PLAN9=/usr/local/plan9
+if(~ $#PLAN9 0)
+	PLAN9=/usr/local/plan9
 if(! ~ $path(1) $PLAN9/bin)
 	path=($PLAN9/bin $path)
 
diff --git a/man/man1/9.1 b/man/man1/9.1
index 80d5470..f3e57ee 100644
--- a/man/man1/9.1
+++ b/man/man1/9.1
@@ -41,6 +41,7 @@
 .I cmd .
 It sets
 .B $PLAN9
+if necessary
 and adds
 .B $PLAN9/bin
 to the beginning of
@@ -50,7 +51,7 @@
 .PP
 If run with no arguments,
 .B 9
-does not do anything.  This is so that it can be invoked from
+does not do anything, so it can be invoked from
 .IR sh -style
 shells using
 .B .
@@ -60,7 +61,7 @@
 .I 9.rc
 is the same as
 .I 9
-but written for the shell
+but written for use by the shell
 .IR rc (1).
 .SH EXAMPLES
 Search for greek in the password file: