Blob


1 .TH 9 1
2 .SH NAME
3 9, 9.rc, u, u.rc \- run Plan 9 or Unix commands
4 .SH SYNOPSIS
5 .B 9
6 .I cmd
7 [
8 .I args
9 \&...
10 ]
11 .PP
12 .B .
13 .B 9
14 (from
15 .MR sh (1) )
16 .PP
17 .B 9.rc
18 .I cmd
19 [
20 .I args
21 \&...
22 ]
23 .PP
24 .B .
25 .B 9.rc
26 (from
27 .MR rc (1) )
28 .PP
29 .B u
30 .I cmd
31 [
32 .I args
33 \&...
34 ]
35 .PP
36 .B .
37 .B u
38 (from
39 .MR sh (1) )
40 .PP
41 .B u.rc
42 .I cmd
43 [
44 .I args
45 \&...
46 ]
47 .PP
48 .B .
49 .B u.rc
50 (from
51 .MR rc (1) )
52 .SH DESCRIPTION
53 Because Plan 9 supplies commands with the same name as but different
54 behavior than many basic Unix system commands
55 (e.g.,
56 .BR grep ,
57 .BR sed ,
58 .BR mkdir ,
59 .BR rm ),
60 it is not recommended to run with the Plan 9 bin directory
61 ahead of the system directories.
62 .PP
63 .I 9
64 is a shell script that sets up a Plan 9 environment and runs
65 .I cmd .
66 It sets
67 .B $PLAN9
68 if necessary
69 and adds
70 .B $PLAN9/bin
71 to the beginning of
72 .B $PATH
73 before running
74 .IR cmd .
75 .PP
76 If run with no arguments,
77 .B 9
78 does not do anything, so it can be invoked from
79 .IR sh -style
80 shells using
81 .B .
82 .B 9
83 in order to make the current shell start running in the Plan 9 environment.
84 .PP
85 .I 9.rc
86 is the same as
87 .I 9
88 but written for use by the shell
89 .MR rc (1) .
90 .PP
91 .I U
92 and
93 .I u.rc
94 are the inverse of
95 .I 9
96 and
97 .IR 9.rc :
98 they move
99 .B $PLAN9/bin
100 to the end of the path.
101 .SH EXAMPLES
102 Search for greek in the password file:
103 .IP
104 .EX
105 $ 9 grep '[α-ζ]' /etc/passwd
106 .EE
107 .PP
108 Start an
109 .MR rc (1)
110 with the Plan 9 commands in the path before the system commands,
111 and then run the Unix
112 .IR ls :
113 .IP
114 .EX
115 $ 9 rc
116 % u ls
117 .EE
118 .SH SOURCE
119 .B \*9/bin/9
120 .br
121 .B \*9/bin/9.rc
122 .br
123 .B \*9/bin/u
124 .br
125 .B \*9/bin/u.rc
126 .SH SEE ALSO
127 .MR intro (1)
128 .SH BUGS
129 Some shell configurations
130 (notably, oh-my-zsh)
131 define
132 .B 9
133 as an alias for
134 .B cd
135 .BR \-9 ,
136 which makes the
137 .I 9
138 command described here inaccessible.
139 In such shells, it is necessary to
140 .B unalias
141 .B 9
142 in your initialization scripts.