File: wcd.1

package info (click to toggle)
wcd 3.2.0-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 804 kB
  • ctags: 640
  • sloc: ansic: 8,260; makefile: 43; sh: 6; csh: 1
file content (1035 lines) | stat: -rw-r--r-- 25,998 bytes parent folder | download
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
.PU
.TH WCD 1 local
.SH NAME
wcd - Wherever Change Directory
.br
chdir for DOS and Unix
.SH SYNOPSIS
.B wcd
[drive:][dir] [-A <path>] [-a[a]] [-b] [-c] [-d <drive>]
.br
[-E <path>] [-e[e]] [-f <treefile>] [-G <path>] [-GN] [-g[a|d]]
.br
[-h] [-i] [-j] [-k] [-l] [-[m|M|r|rmtree] <dir>] [-N] [-n <path>]
.br
[-o[d]] [-Q] [-S <path>] [-s] [-t] [-u <username>] [-V] [-v] [-w]
.br
[-x <path>] [-xf <file>] [-z #] [-[#]] [+[#]] [=]
.br
.SH DESCRIPTION
.I Wcd.
Directory changer for DOS and Unix.
Another Norton Change Directory (NCD) clone with more features.

Wcd is a program to change directory fast. It saves time typing at the
keyboard. One needs to type only a part of a directory name and wcd will jump
to it. Wcd has a fast selection method in case of multiple matches and
allows aliasing and banning of directories. Wcd also includes a full-screen
interactive directory browser with speed search.

By default (if no wildcards are used) wcd searches for a directory with a name
that begins with the typed name.

For instance:

   wcd Desk

will change to directory /home/waterlan/Desktop
.br
When there are multiple matches, wcd will present the user a list
of all matches. The user can then make a selection with a few keystrokes
(most of the times only one).

Wcd fully supports wildcards, i.e. *, ? and [SET].

`*' matches any sequence of characters (zero or more)
.br
`?' matches any character
.br
[SET] matches any character in the specified set,
.br
[!SET] or [^SET] matches any character not in the specified set.

A set is composed of characters or ranges; a range looks like ``character
hyphen character'' (as in 0-9 or A-Z).  [0-9a-zA-Z_] is the minimal set of
characters allowed in the [..] pattern construct.  Other characters are
allowed (i.e. 8 bit characters) if your system will support them.
To suppress the special syntactic significance of any of ``[]*?!^-\\'', in-
side or outside a [..] construct and match the character exactly, precede
it with a ``\\'' (backslash).


Using wildcards makes powerful searching possible. For instance:

   wcd *top
.br
match any directory name that ends with "top".


   wcd *top*
.br
match any directory that has "top" in the name.

   wcd [a-c]*
.br
match any directory name that begins with "a", "b" or "c".

It is also possible to give a part of a directory path.
E.g.:

   wcd me/Desk

wcd searches for directory that begins with "Desk" and which path matches
*me/Desk*

It is allowed to type any kind of expression with slashes
and wildcards. E.g.:

   wcd src*/*1?/a*2

If no wildcards are used and wcd finds a perfect match, wcd will ignore
all wild matches by default. This behaviour can be changed with the -w option.

The interactive directory browser can be started by using option -g.

   wcd -g

See option -g for more information.

Wcd generates a treedata file were it searches the directory.
On Unix systems wcd does add
.I links
to the treedata files while scanning the disk, but does not follow them.  While
following links wcd could end up scanning infinite loops, or scan very large
portions of a network.

Wcd can also change to directories that are not in the treedata file. E.g.:

   wcd ..

If wcd found a match but cannot change to the directory it tries to remove it
from the default treedata file.
.I Not from the extra treedata file.
See also option -k.

Wcd keeps a directory stack which is stored on disk. The stack has a default
size of 10 and is cyclic. See options -z, -, + and =.

Wcd supports 8 bit character sets (non-ASCII characters).

In multi-user environments a very handy option -u can be used to
change to directories of other users. See option -u.

On DOS and Windows systems it does not matter if you use a slash (/) or
a backslash (\\) as directory-separator.

It is possible on DOS and Windows systems to change drive and directory
in one go by preceding the directory name with the drive name.

   wcd d:games

The Windows versions (console, zsh, cygwin) support Windows SMB LAN UNC paths
without drive letter such as \\\\servername\\sharename. Wcd for windows console
makes use of the 'pushd' command to automatically map a UNC path to a
drive letter. In windows zsh and Cygwin UNC paths are fully supported. The
current working directory can be a UNC path.

Remark about 8 bit characters: Only the original equipment manufacturer (OEM)
code page installed with Windows appears correctly in a command prompt window
that uses Raster fonts. Other code pages appear correctly in full-screen mode
or command prompt windows that use TrueType fonts.

.SH FILES

.TP 4
.I wcd.exe
The binary. Do not rename it to 'wcd' on Unix systems. In a Bourne-like or C
shell the binary is always called by a function or alias, because the
current working directory of a Bourne-like or C shell can only be changed by
the builtin cd command. See also section INSTALLATION.

.TP 4
.I default treedata file
DOS: \\treedata.wcd or %HOME%\\treedata.wcd
.br
UNIX: $HOME/.treedata.wcd
.br

This is the default treedata file where wcd searches for matches.
If it is not readable wcd will create a new one.

.TP 4
.I extra treedata file
DOS: \\extra.wcd or %HOME%\\extra.wcd
.br
UNIX: $HOME/.extra.wcd
.br

An optional extra treedata file. If it exists and is readable wcd
will try to find matches in this file also.

.TP 4
.I ban file
DOS: \\ban.wcd or %HOME%\\ban.wcd
.br
UNIX: $HOME/.ban.wcd
.br

In this optional file wcd places banned paths. See option -b.
Wildcards are supported.

.TP 4
.I alias file
DOS: \\alias.wcd or %HOME%\\alias.wcd
.br
UNIX: $HOME/.alias.wcd
.br

Optional file with wcd aliases. See option -l.

.TP 4
.I stack file
DOS: c:\\stack.wcd or %HOME%\\stack.wcd
.br
UNIX: $HOME/.stack.wcd
.br

In this file wcd stores it's stack. The drive-letter can be
changed with the -d option.

.TP 4
.I go-script
DOS BASH: c:\\wcd.go or %HOME%\\wcd.go
.br
WIN32 CONSOLE: c:\\wcdgo.bat or %HOME%\\wcdgo.bat
.br
WIN32 ZSH: %HOME%\\wcd.go
.br
UNIX: $HOME/bin/wcd.go
.br

This is the shell script which wcd.exe creates each time.
It is sourced via a function or an alias. The
drive-letter can be changed with the -d option.
For history reasons it is placed by default in ~/bin
on Unix systems.
The directory of this file can be changed with the
option -G.

.TP 4
.I relative treedata file
DOS: <path>\\rtdata.wcd
.br
UNIX: <path>/.rtdata.wcd
.br

Text file with relative paths from <path>. See options +S, -n and +n.

.PP
The win32 console version of wcd behaves as the DOS version.
The Cygwin version of wcd behaves as the UNIX version.

.PP
All .wcd files are ASCII text files. They can be edited with a
text-editor.

.PP
If the environment variable
.I WCDHOME
is set wcd will use WCDHOME instead of HOME.

.SH OPTIONS
.TP
.B \-A <path>
Add directory tree from <path> to default treedata.

The directory tree starting from <path>
is \fIappended\fP to the default treedata file.

    Example: wcd -A .

On Windows one can scan all shared directories
of a Windows LAN server by typing something like:
wcd -A \\\\servername.

.TP
.B \-a
Add current path to default treedata file.

Use this option to quickly add the current path
to the default treedata file. Re-scanning the complete disk can
take a long time in some cases.
.TP
.B \-aa
Add current and all parent paths to default treedata.
.TP
.B \-b
Ban current path.

Wcd places the current path in the ban file. This means that wcd
ignores all
matches of this directory and its sub directories.

The ban file can be edited with a text editor. Use of wildcards
are supported and it is matched against absolute path.

Banned paths are not excluded from scanning the disk.
To do that use option -xf.
.TP
.B \-c
direct CD mode

By default
.I wcd
works as follows:
.br
 1. Try to find a match in the treedata file(s)
.br
 2. If no match, try to open the directory you typed.

 In direct CD mode
.I wcd
works in reversed order.
.br
 1. Try to open the directory you typed.
.br
 2. If not, try to find a match in the treedata file(s).
.TP
.B \-d <drive>
Set drive for stack and go file (DOS only).

The stack file and the go-script
are by default stored on drive c: if environment variable
HOME is not set. Use this option if drive
C: is a read-only drive.
This option must be used in front of the stack options -, + and =.
.TP
.B \-E <path>
Add directory tree from <path> to Extra treedata file.

The directory tree starting from <path>
is \fIappended\fP to the Extra treedata file
.TP
.B \-e
Add current path to extra treedata file.

Use this option to quickly add the current path
to the extra treedata file.
.TP
.B \-ee
Add current and all parent paths to extra treedata file.
.TP
.B \-f <filename>
Add another treedata file to be scanned, do not include
your own treedata file.
.TP
.B \+f <filename>
Add another treedata file to be scanned, include your own treedata file.
.TP
.B \-G <path>
Set directory path of go-script.

.TP
.B \-GN
Don't create go-script.

This option can be used in combination with the option
.I -j
if one doesn't want wcd to create a go-script.

.TP
.B \-g
Graphical interface (only in version with curses interface).

Wcd starts a textual curses based `graphical' interface.
The user can select a directory via a full-screen
interactive directory browser. It has a Vi(m) like
navigation and search method.

If no search string is given wcd presents the whole
tree which is in the default treedata file and the extra
treedata files.

If a search string is given the match list is presented
as a graphical tree.

.TP
.B \-ga
Graphical interface with alternative way of navigating. With
this option one can't jump to unrelated directories.

.TP
.B \-gd
Dump the treedata files as a tree to stdout.

.TP
.B \-i
Ignore case.
Dos and Windows versions of
.I wcd
ignore case by default. Unix versions regard case by default.

.TP
.B \+i
Regard case.
See also option -i.

.TP
.B \-j
just go mode

In this mode wcd will not present a list when there is
more than directory that matches the given directory.
Wcd will just change to the first option. When wcd is
invoked again with the same arguments it will change
to the next option, and so on.

Wcd will print the directory to go to to stdout.
So a different installation method can be used.
One could make the following function for bash or ksh:

function wcd()
.br
{
.br
  cd "`$HOME/bin/wcd.exe -j $*`"
.br
}

On windows systems, if one is running 4NT shell, one could
make the following alias:

alias wcd `cd %@execstr[wcdwin32.exe -z 0 -j %1]`

This method eliminates the need of the go-script, so one can
use option
.I -GN
in combination with -j.

.TP
.B \-k
Keep paths.

Keep paths in treedata when wcd cannot change to them.
The default behaviour of wcd is that it tries to remove
paths from the treedata when wcd cannot change to them.
With this option this behaviour is turned off.
.TP
.B \-l
aLias current path.

Wcd places the current path and the alias in the alias file.
Aliases are case sensitive.
.TP
.B \-M <dir>
Make directory and add to extra treedata file.

.TP
.B \-m <dir>
Make directory and add to treedata file.

.TP
.B \-N
Use numbers instead of letters.

Wcd with a conio or curses based interface (see section INTERFACE)
presents a match list default numbered with letters.  When the -N
option is used the match list is numbered with numbers.
Regardless of the -N option one can type a
letter or numbers to make a selection from the list of matches.

.TP
.B \-n <path>
Add relative treedata file (Unix: <path>/.rtdata.wcd,  DOS: <path>\\rtdata.wcd),
do not scan the default treedata file. If <path> is a file, wcd will add
<path> instead of <path>/.rtdata.wcd or <path>\\rtdata.wcd.
See also option +S.

Example:
.br
suppose another system has been NFS mounted
to mount point /mnt/network


      wcd -n /mnt/network src

Wcd now opens file /mnt/network/.rtdata.wcd
The file contains the paths relative from that point.

The relative treedata file should already have been created
using the wcd +S option.

.TP
.B \+n <path>
Add another relative treedata file. See option -n.

.TP
.B \-o
Use stdin/stdout interface.

When for some kind of reason the conio or curses interface
of wcd doesn't work one can fall back to the stdin/stdout interface
of wcd by using the -o option.

.TP
.B \-od
Dump all matches to stdout.

.TP
.B \-Q
Quieter operation.

Printing of the final match is suppressed.
.TP
.B \-r <dir>
Remove directory and remove from treedata file.

If the directory is empty,
.I wcd
will remove it, and try to remove it from the treedata file.

.TP
.B \-rmtree <dir>
Recursively remove directory and remove from treedata file.

Wcd will remove the directory and all it's sub directories
and files, and remove the directories from the treedata file.

.TP
.B \-S <path>
Scan disk from a certain path.

If you have a small Unix system like a PC with a few users
you can for instance scan the disk from /.
With the Windows versions one can scan all shared directories
of a Windows LAN server by typing something like:
wcd -S \\\\servername.

The existing default treedata file is overwritten.

.TP
.B \+S <path>
Scan disk from a certain path. Make
.I relative
treedata file.

Scan disk from path <path> and place relative paths
in a relative treedata file.
This file is used by the -n and +n options of wcd. E.g.
wcd -n <path> src
.TP
.B \-s
(re)Scan disk from your $HOME directory.

This is recommended if you are on a large Unix
server network with very much users.
This is the default scanning mode.
.I Wcd
for DOS scans
the current disk from root \\ or from %HOME% if HOME is set.
The existing default treedata file is overwritten.

.TP
.B \-t
Do not strip tmp mount dir /tmp_mnt (Unix only)

Wcd strips by default /tmp_mnt/ from the match. Directory /tmp_mnt
is used by the automounter. This behaviour can be turned off with the
-t option.

.TP
.B \-u <username>
Add default treedata file of other user, do not include
your own default treedata file.

Wcd now scans the treedata file of another
.I user
.
On Unix the base directory for user home directores is assumed
to be 
.I /home
, so wcd tries to scan /home/<username>/.treedata.wcd.
On DOS/Windows the base directory for user home directores is assumed
to be
.I \\\\\\\\users
, so wcd tries to scan \\\\users\\<username>\\treedata.wcd.

One can define a different base directory with environment variable WCDUSERSHOME.
See section ENVIRONMENT.

.TP
.B \+u <username>
Add treedata file of other user, include your own treedata file.

.TP
.B \-V
verbose operation.

With this option
.I wcd
prints all filters, bans and excludes.
.TP
.B \-v
Print version info.


.TP
.B \-w
Wild matching only.

Treat all matches as wild matches.
.TP
.B \-x <path>
Exclude <path> from scanning.

When this option is used wcd will exclude <path> and all its
subdirectories when wcd is scanning a disk. Wildcards are
supported and matched against absolute paths. Option
-x can be used multiple times.

  wcd -x <path1> -x <path2> -s

Option -x must be used in front of any scan option (-s, -S, +S, -A, -E).

On DOS/Windows systems one must specify the drive letter
depending on if enviroment variable HOME or WCDHOME is set.
If HOME or WCDHOME is set one needs to specify the drive letter. Example:

  wcd -x c:/temp -S c:

Otherwise don't specify drive letter.

  wcd -x /temp -s

.TP
.B \-xf <file>
Exclude all paths listed in <file> from scanning.

When this option is used wcd will exclude all paths listed in
<file> and all their
subdirectories when wcd is scanning a disk. Wildcards are supported
and they are matched against absolute paths; one path per line.
Be aware that wcd will not ignore leading or trailing blanks on a line,
because they are legal characters in a directory name.
Option -xf can be used multiple times. When one wants to exlude all
banned paths from scanning one can do the following (example
for wcd on unix):

  wcd -xf ~/.ban.wcd -s

Wildcards are supported. For instance to exclude all your CVS directories
with cvs administrative files add a line with:
.br
*/CVS
.br

Option -xf must be used in front of any scan option (-s, -S, +S, -A, -E).
.TP
.B \-z #
Set maximum stack size.

The default size of the stack is 10. Stack operation can
be turned off by setting the size to 0.
This option must be used in front of any other stack option (-,+,=).
Otherwise the size of the stack will be set back to the
default 10. A correct command is:

  wcd -z 50 -

The new stack size will be 50, wcd will go one directory back.
A wrong command is:

  wcd - -z 50

Wcd goes one directory back, the stack gets the default size
10. '-z 50' is ignored.

Add this option as the first option to your wcd alias or function.
E.g. for the bash this would be:

function wcd
.br
{
.br
   wcd.exe -z 50 $*
.br
   . $HOME/bin/wcd.go
.br
}

.TP
.B \-[#]
Push dir [ # times ].

Go back a directory. 'wcd -' goes one directory back. To go
more directories back add a number to it. E.g. wcd -3
The stack is cyclic.
.TP
.B \+[#]
Pop dir [ # times ].

Go forward a directory. 'wcd +' goes one directory forward. To go
more directories forward add a number to it. E.g. wcd +2
The stack is cyclic.
.TP
.B \=
Show stack.

Use this option if don't know anymore how many times to push or pop.
The stack is printed and you can choose a number. The current place
in the stack is marked with an asterisk '*'.

.SH "INTERFACE"

Wcd has three different interfaces to choose from a list of matches.
The interface can be chosen at compile time.

The first interface uses plain
.I stdin/stdout.
A numbered list is printed in the terminal. The user has to
choose from the list by typing a number followed by <Enter>.
This interface does not
provide scroll back functionality in case of a long list.
The scroll back capability of the terminal/console has to be used.
It is very small and portable.

The second interface is built with the
.I conio
library. It provides a builtin scroll back capability.
The user is presented a list numbered with letters.
Choosing from a list can be done by pressing just one letter.
This interface is fast because it saves keystrokes.
If possible the screen will be restored after exiting.
One who prefers to type numbers can use the -N option.
This interface is meant for DOS systems.

The third interface is built with the
.I curses
library. It is similar to the conio interface with
additional sideways scrolling.
The curses version of wcd has also an additional
.I `graphical' 
interface.
It lets the user select a directory via a full-screen
interactive directory browser. It has a Vi(m) like
navigation and search method. It can be activated with
option -g.
This interface is portable to DOS, Windows and Unix.

By using the -o option one can always fall back to
the stdin/stdout interface.


.SH "ENVIRONMENT"

.TP 4
.I HOME and WCDHOME
Wcd uses environment variable HOME to determine where to store its files. See
also section FILES.  Environment variable WCDHOME overrides HOME. If both HOME
and WCDHOME are set, WCDHOME will be used instead of HOME.

For the Unix and Cygwin version it is required that HOME or
WCDHOME is set. For the other versions of wcd the use of
these variables is optional.

.TP 4
.I TERMINFO
If  the  environment variable TERMINFO is defined, wcd
with ncurses interface checks for a local terminal definition
before checking in the standard place. This is useful if
terminal definitions are not on a standard place. Often
used standard places are /usr/lib/terminfo and /usr/share/terminfo.

.TP 4
.I PDC_RESTORE_SCREEN
Wcd with PDCurses interface recognizes the environment variable
PDC_RESTORE_SCREEN.  If this environment variable is set, PDCurses will take a
copy of the contents of the screen at the time that wcd is started; when
wcd exits, the screen will be restored. One can set this variable
e.g. in AUTOEXEC.BAT. Example:
.br

   set PDC_RESTORE_SCREEN=1

For Cygwin this would be 'export PDC_RESTORE_SCREEN=1'.

Windows allows only a small buffer to be saved. So it is not always possible to
restore everything. Some garbage data may be printed in the console after
wcd exists if you have set a large buffer width.

.TP 4
.I SHELL
Printing of #!$SHELL on the first line of the go-script for Bourne-like or C shell
is needed for 8 bit characters. Some shells otherwise think that the go-script is a binary file
and will not source it. In Cygwin bash one may need to define $SHELL with an 'export' command,
otherwise wcd can't read the variable.

.TP 4
.I BASH
Wcd for DOS bash uses $BASH instead of $SHELL, because $SHELL point to the DOS command shell.
One may need to define $BASH with an 'export' command, otherwise wcd can't read the variable.

.TP 4
.I WCDFILTER
Specify filters with environment variable WCDFILTER.  All directories that
don't match the filter(s) are ignored.  A list can be specified by separating
filters with colons (:) on Unix/Cygwin and semicolons (;) on DOS/Windows systems
(Similar as specifying the PATH variable). Filters are case sensitive on Unix
and case insensitive on DOS/Windows.

Example Unix:
export WCDFILTER=projects:doc

Example DOS/Windows:
set WCDFILTER=projects;doc


.TP 4
.I WCDBAN
The paths specified with environment WCDBAN will be banned by wcd. See also option
-b. Specify a list of paths separated by colons on Unix/Cygwin and semicolons on DOS/Windows.

.TP 4
.I WCDEXCLUDE
The paths specified with environment WCDEXCLUDE will be excluded by wcd. See also options
-x and -xf. Specify a list of paths separated by colons on Unix/Cygwin and semicolons on DOS/Windows.

Example Unix:
export WCDEXCLUDE=/dev:/tmp:*CVS

Example DOS/Windows:
set WCDEXCLUDE=*/windows;*/temp;*CVS

.TP 4
.I WCDUSERSHOME
With this variable one can set the base directory where the users home directories are.
If this variable is not set wcd will assume /home on Unix, and \\\\users on DOS/Windows.
This variable is used to scan treedata files of other users. See also options -u an +u.

.PP
In verbose mode wcd will print all filters, bans and excludes. See option -V.

.SH "INSTALLATION"

Note that the current working directory of a
.B Bourne-like or C shell
can only be changed by the builtin cd command. Therefore the binary is always
called by a function or alias. The function or alias sources a shell script
(go-script) which is generated by the binary wcd.exe. Wcd can only work after
the function or alias is defined.

The following sections give brief information
on how to install wcd. Do you want to know more? Read
file
.I wcd.txt
which comes with the wcd distribution.

.SH "INSTALLATION DOS VERSION"

.B 16 bit version:
.br
Make sure that wcd.exe is in your path.

.B 32 bit version:
.br
Make sure that wcd.exe and cwsdpmi.exe are in your path.

.B DOS Bourne Again Shell
.br
make a function like this:

function wcd
.br
{
.br
   c:/bin/wcd.exe $*
.br
   . c:/wcd.go
.br
}

File wcd.go is always written to drive c: unless other specified
with the -d option.

If you use environment variable HOME make a function like this:

function wcd
.br
{
.br
   c:/bin/wcd.exe $*
.br
   . $HOME/wcd.go
.br
}

.B Z Shell

The dos bash version of wcd can also be used for the win32 port of zsh
if it is used under Windows 95 or 98. It is required that environment
variable HOME or WCDHOME is set. A function like the following must be defined.
This can be done in $HOME/.zshenv

function wcd
.br
{
.br
   c:/bin/wcd.exe $*
.br
   . $HOME/wcd.go
.br
}

.SH "INSTALLATION WIN32 CONSOLE VERSION"

Notice that under Windows NT console (MS-DOS prompt) a win32-program cannot
change the current work directory (although a DOS-program can).
That is why wcd generates a batch script (c:\\wcdgo.bat or %HOME%\\wcdgo.bat)
which must be executed in the current shell.

1)
Copy wcd.bat and wcdwin32.exe somewhere in PATH.

2)
Edit wcd.bat depending if you use environment variable HOME or not.

Suppose you installed wcd in c:\\bin

If you don't use environment variable HOME wcd.bat looks like:

 @echo off
.br
 c:\\bin\\wcdwin32.exe %*
.br
 c:\\wcdgo.bat

If you do use environment variable HOME wcd.bat looks like:

 @echo off
.br
 c:\\bin\\wcdwin32.exe %*
.br
 %HOME%\\wcdgo.bat

3)
To be sure that you execute the correct 'wcd.bat' you could
optionally create a macro for wcd:

 doskey wcd=c:\\bin\\wcd.bat $*

Notice that environment variable WCDHOME overrides HOME.

.B Z Shell

A win32 port of zsh has been made by Amol Deshpande
(ftp://ftp.blarg.net/users/amol/zsh).

It is required that environment variable HOME or WCDHOME is set.
A function must be defined (e.g. in $HOME/.zshenv) like this:

function wcd
.br
{
.br
   c:/bin/wcdwin32.exe $*
.br
   . $HOME/wcd.go
.br
}

.SH "INSTALLATION CYGWIN VERSION"

The Cygwin version behaves exactly as the Unix
version: Regards case by default, same file names, etc.

1)

Make sure that environment variable HOME is set.
.br
Create a directory $HOME/bin

2)

copy wcd.exe to your $HOME/bin directory.

3)

Add the following function to your ~/.bashrc file.

function wcd
.br
{
.br
   $HOME/bin/wcd.exe $*
.br
   . $HOME/bin/wcd.go
.br
}

Start a new bash

.SH "INSTALLATION UNIX VERSION"

The following examples show the installation on a system where you don't have
root privileges.  Read the man page of the shell you are using on how to define
a function or an alias.

.B ===== Bourne-like shells: =====

Korn Shell (ksh, pdksh), Bourne Again Shell (bash), Z shell (zsh),
ash, ...

1)

 copy wcd.exe to your $HOME/bin directory.

2)

 Add the following function to a startup file of your shell. For instance in:
.br
$HOME/.kshrc (ksh)
.br
$HOME/.bashrc (bash)
.br
$HOME/.zshenv (zsh)


function wcd
.br
{
.br
   $HOME/bin/wcd.exe $*
.br
   . $HOME/bin/wcd.go
.br
}

Start a new shell

.B ===== C Shell (csh): =====

1)

 copy wcd.exe to your $HOME/bin directory.

2)

 Add the following alias to your $HOME/.cshrc
 file.

alias wcd "$HOME/bin/wcd.exe \\!* ; source $HOME/bin/wcd.go"
.br

Start a new C Shell


.SH "AUTHOR"

Erwin Waterlander,
.br
waterlan@xs4all.nl
.br
http://www.xs4all.nl/~waterlan/

.SH "SEE ALSO"
.BR ksh "(1), " csh "(1), " bash (1), " zsh "(1), " ncurses "(1)