9
<td>Deprecated sample implementation of a bash debugger</td>
15
<td>Shell completion code</td>
21
<td>Example functions</td>
24
<td>./functions/array-stuff</td>
25
<td>Various array functions (ashift, array_sort, reverse).</td>
28
<td>./functions/array-to-string</td>
29
<td>Convert an array to a string.</td>
32
<td>./functions/autoload</td>
33
<td>An almost ksh-compatible 'autoload' (no lazy load).</td>
37
<td>./functions/autoload.v2</td>
38
<td>An almost ksh-compatible 'autoload' (no lazy load).</td>
42
<td>./functions/autoload.v3</td>
43
<td>A more ksh-compatible 'autoload' (with lazy load).</td>
47
<td>./functions/basename</td>
48
<td>A replacement for basename(1).</td>
52
<td>./functions/basename2</td>
53
<td>Fast basename(1) and dirname(1) functions for BASH/SH.</td>
54
<td>basename, dirname</td>
57
<td>./functions/coproc.bash</td>
58
<td>Start, control, and end coprocesses.</td>
61
<td>./functions/coshell.bash</td>
62
<td>Control shell coprocesses (see coprocess.bash).</td>
65
<td>./functions/coshell.README</td>
66
<td>README for coshell and coproc.</td>
69
<td>./functions/csh-compat</td>
70
<td>A C-shell compatibility package.</td>
74
<td>./functions/dirfuncs</td>
75
<td>Directory manipulation functions from the book 'The Korn Shell'.</td>
78
<td>./functions/dirname</td>
79
<td>A replacement for dirname(1).</td>
83
<td>./functions/emptydir</td>
84
<td>Find out if a directory is empty.</td>
87
<td>./functions/exitstat</td>
88
<td>Display the exit status of processes.</td>
91
<td>./functions/external</td>
92
<td>Like 'command' but FORCES use of external command.</td>
95
<td>./functions/fact</td>
96
<td>Recursive factorial function.</td>
99
<td>./functions/fstty</td>
100
<td>Front end to sync TERM changes to both stty(1) and readline 'bind'.</td>
104
<td>./functions/func</td>
105
<td>Print out definitions for functions named by arguments.</td>
108
<td>./functions/gethtml</td>
109
<td>Get a web page from a remote server (wget(1) in bash!).</td>
112
<td>./functions/getoptx.bash</td>
113
<td>getopt function that parses long-named options.</td>
116
<td>./functions/inetaddr</td>
117
<td>Internet address conversion (inet2hex & hex2inet).</td>
120
<td>./functions/inpath</td>
121
<td>Return zero if the argument is in the path and executable.</td>
125
<td>./functions/isnum.bash</td>
126
<td>Test user input on numeric or character value.</td>
129
<td>./functions/isnum2</td>
130
<td>Test user input on numeric values, with floating point.</td>
133
<td>./functions/isvalidip</td>
134
<td>Test user input for valid IP Addresses.</td>
137
<td>./functions/jdate.bash</td>
138
<td>Julian date conversion.</td>
141
<td>./functions/jj.bash</td>
142
<td>Look for running jobs.</td>
145
<td>./functions/keep</td>
146
<td>Try to keep some programs in the foreground and running.</td>
149
<td>./functions/ksh-cd</td>
150
<td>ksh-like 'cd': cd [-LP] [dir [change]].</td>
154
<td>./functions/ksh-compat-test</td>
155
<td>ksh-like arithmetic test replacements.</td>
159
<td>./functions/kshenv</td>
160
<td>Functions and aliases to provide the beginnings of a ksh environment for bash.</td>
164
<td>./functions/login</td>
165
<td>Replace the 'login' and 'newgrp' builtins in old Bourne shells.</td>
168
<td>./functions/lowercase</td>
169
<td>Rename files to lower case.</td>
170
<td>rename lower</td>
173
<td>./functions/manpage</td>
174
<td>Find and print a manual page.</td>
178
<td>./functions/mhfold</td>
179
<td>Print MH folders, useful only because folders(1) doesn't print mod date/times.</td>
182
<td>./functions/notify.bash</td>
183
<td>Notify when jobs change status.</td>
186
<td>./functions/pathfuncs</td>
187
<td>Path related functions (no_path, add_path, pre-path, del_path).</td>
191
<td>./functions/README</td>
195
<td>./functions/recurse</td>
196
<td>Recursive directory traverser.</td>
199
<td>./functions/repeat2</td>
200
<td>A clone of C shell builtin 'repeat'.</td>
204
<td>./functions/repeat3</td>
205
<td>A clone of C shell builtin 'repeat'.</td>
209
<td>./functions/seq</td>
210
<td>Generate a sequence from m to n, m defaults to 1.</td>
213
<td>./functions/seq2</td>
214
<td>Generate a sequence from m to n, m defaults to 1.</td>
217
<td>./functions/shcat</td>
218
<td>Readline-based pager.</td>
219
<td>cat, readline pager</td>
222
<td>./functions/shcat2</td>
223
<td>Readline-based pagers.</td>
224
<td>cat, readline pager</td>
227
<td>./functions/sort-pos-params</td>
228
<td>Sort the positional parameters.</td>
231
<td>./functions/substr</td>
232
<td>A function to emulate the ancient ksh builtin.</td>
236
<td>./functions/substr2</td>
237
<td>A function to emulate the ancient ksh builtin.</td>
241
<td>./functions/term</td>
242
<td>A shell function to set the terminal type interactively or not.</td>
245
<td>./functions/whatis</td>
246
<td>An implementation of the 10th Edition Unix sh builtin 'whatis(1)' command.</td>
249
<td>./functions/whence</td>
250
<td>An almost-ksh compatible 'whence(1)' command.</td>
253
<td>./functions/which</td>
254
<td>An emulation of 'which(1)' as it appears in FreeBSD.</td>
257
<td>./functions/xalias.bash</td>
258
<td>Convert csh alias commands to bash functions.</td>
259
<td>csh, aliasconv</td>
262
<td>./functions/xfind.bash</td>
263
<td>A 'find(1)' clone.</td>
268
<td>./loadables/</td>
269
<td>Example loadable replacements</td>
272
<td>./loadables/basename.c</td>
273
<td>Return non-directory portion of pathname.</td>
277
<td>./loadables/cat.c</td>
278
<td>cat(1) replacement with no options - the way cat was intended.</td>
279
<td>cat, readline pager</td>
282
<td>./loadables/cut.c</td>
283
<td>cut(1) replacement.</td>
286
<td>./loadables/dirname.c</td>
287
<td>Return directory portion of pathname.</td>
291
<td>./loadables/finfo.c</td>
292
<td>Print file info.</td>
295
<td>./loadables/getconf.c</td>
296
<td>POSIX.2 getconf utility.</td>
299
<td>./loadables/getconf.h</td>
300
<td>Replacement definitions for ones the system doesn't provide.</td>
303
<td>./loadables/head.c</td>
304
<td>Copy first part of files.</td>
307
<td>./loadables/hello.c</td>
308
<td>Obligatory "Hello World" / sample loadable.</td>
311
<td>./loadables/id.c</td>
312
<td>POSIX.2 user identity.</td>
315
<td>./loadables/ln.c</td>
319
<td>./loadables/logname.c</td>
320
<td>Print login name of current user.</td>
323
<td>./loadables/Makefile.in</td>
324
<td>Simple makefile for the sample loadable builtins.</td>
327
<td>./loadables/mkdir.c</td>
328
<td>Make directories.</td>
331
<td>./loadables/necho.c</td>
332
<td>echo without options or argument interpretation.</td>
335
<td>./loadables/pathchk.c</td>
336
<td>Check pathnames for validity and portability.</td>
339
<td>./loadables/print.c</td>
340
<td>Loadable ksh-93 style print builtin.</td>
343
<td>./loadables/printenv.c</td>
344
<td>Minimal builtin clone of BSD printenv(1).</td>
347
<td>./loadables/push.c</td>
348
<td>Anyone remember TOPS-20?</td>
351
<td>./loadables/README</td>
355
<td>./loadables/realpath.c</td>
356
<td>Canonicalize pathnames, resolving symlinks.</td>
359
<td>./loadables/rmdir.c</td>
360
<td>Remove directory.</td>
363
<td>./loadables/sleep.c</td>
364
<td>sleep for fractions of a second.</td>
367
<td>./loadables/strftime.c</td>
368
<td>Loadable builtin interface to strftime(3).</td>
371
<td>./loadables/sync.c</td>
372
<td>Sync the disks by forcing pending filesystem writes to complete.</td>
375
<td>./loadables/tee.c</td>
376
<td>Duplicate standard input.</td>
379
<td>./loadables/template.c</td>
380
<td>Example template for loadable builtin.</td>
383
<td>./loadables/truefalse.c</td>
384
<td>True and false builtins.</td>
387
<td>./loadables/tty.c</td>
388
<td>Return terminal name.</td>
391
<td>./loadables/uname.c</td>
392
<td>Print system information.</td>
395
<td>./loadables/unlink.c</td>
396
<td>Remove a directory entry.</td>
399
<td>./loadables/whoami.c</td>
400
<td>Print out username of current user.</td>
405
<td>./loadables/perl/</td>
406
<td>Illustrate how to build a Perl interpreter into bash.</td>
412
<td>Miscellaneous</td>
415
<td>./misc/aliasconv.bash</td>
416
<td>Convert csh aliases to bash aliases and functions.</td>
420
<td>./misc/aliasconv.sh</td>
421
<td>Convert csh aliases to bash aliases and functions.</td>
425
<td>./misc/cshtobash</td>
426
<td>Convert csh aliases, environment variables, and variables to bash equivalents.</td>
430
<td>./misc/README</td>
434
<td>./misc/suncmd.termcap</td>
435
<td>SunView TERMCAP string.</td>
440
<td>./scripts.noah</td>
441
<td>Noah Friedman's collection of scripts (updated to bash v2 syntax by Chet Ramey)</td>
444
<td>./scripts.noah/aref.bash</td>
445
<td>Pseudo-arrays and substring indexing examples.</td>
448
<td>./scripts.noah/bash.sub.bash</td>
449
<td>Library functions used by require.bash.</td>
452
<td>./scripts.noah/bash_version.bash</td>
453
<td>A function to slice up $BASH_VERSION.</td>
456
<td>./scripts.noah/meta.bash</td>
457
<td>Enable and disable eight-bit readline input.</td>
460
<td>./scripts.noah/mktmp.bash</td>
461
<td>Make a temporary file with a unique name.</td>
464
<td>./scripts.noah/number.bash</td>
465
<td>A fun hack to translate numerals into English.</td>
468
<td>./scripts.noah/PERMISSION</td>
469
<td>Permissions to use the scripts in this directory.</td>
472
<td>./scripts.noah/prompt.bash</td>
473
<td>A way to set PS1 to some predefined strings.</td>
476
<td>./scripts.noah/README</td>
480
<td>./scripts.noah/remap_keys.bash</td>
481
<td>A front end to 'bind' to redo readline bindings.</td>
484
<td>./scripts.noah/require.bash</td>
485
<td>Lisp-like require/provide library functions for bash.</td>
488
<td>./scripts.noah/send_mail.bash</td>
489
<td>Replacement SMTP client written in bash.</td>
492
<td>./scripts.noah/shcat.bash</td>
493
<td>Bash replacement for 'cat(1)'.</td>
497
<td>./scripts.noah/source.bash</td>
498
<td>Replacement for source that uses current directory.</td>
501
<td>./scripts.noah/string.bash</td>
502
<td>The string(3) functions at the shell level.</td>
505
<td>./scripts.noah/stty.bash</td>
506
<td>Front-end to stty(1) that changes readline bindings too.</td>
510
<td>./scripts.noah/y_or_n_p.bash</td>
511
<td>Prompt for a yes/no/quit answer.</td>
517
<td>./scripts.v2</td>
518
<td>John DuBois' ksh script collection (converted to bash v2 syntax by Chet Ramey).</td>
521
<td>./scripts.v2/arc2tarz</td>
522
<td>Convert an "arc" archive to a compressed tar archive.</td>
525
<td>./scripts.v2/bashrand</td>
526
<td>Random number generator with upper and lower bounds and optional seed.</td>
530
<td>./scripts.v2/cal2day.bash</td>
531
<td>Convert a day number to a name.</td>
534
<td>./scripts.v2/cdhist.bash</td>
535
<td>cd replacement with a directory stack added.</td>
538
<td>./scripts.v2/corename</td>
539
<td>Tell what produced a core file.</td>
542
<td>./scripts.v2/fman</td>
543
<td>Fast man(1) replacement.</td>
547
<td>./scripts.v2/frcp</td>
548
<td>Copy files using ftp(1) but with rcp-type command line syntax.</td>
551
<td>./scripts.v2/lowercase</td>
552
<td>Change filenames to lower case.</td>
553
<td>rename lower</td>
556
<td>./scripts.v2/ncp</td>
557
<td>A nicer front end for cp(1) (has -i, etc.).</td>
560
<td>./scripts.v2/newext</td>
561
<td>Change the extension of a group of files.</td>
565
<td>./scripts.v2/nmv</td>
566
<td>A nicer front end for mv(1) (has -i, etc.).</td>
570
<td>./scripts.v2/pages</td>
571
<td>Print specified pages from files.</td>
574
<td>./scripts.v2/PERMISSION</td>
575
<td>Permissions to use the scripts in this directory.</td>
578
<td>./scripts.v2/pf</td>
579
<td>A pager front end that handles compressed files.</td>
582
<td>./scripts.v2/pmtop</td>
583
<td>Poor man's 'top(1)' for SunOS 4.x and BSD/OS.</td>
586
<td>./scripts.v2/README</td>
590
<td>./scripts.v2/ren</td>
591
<td>Rename files by changing parts of filenames that match a pattern.</td>
595
<td>./scripts.v2/rename</td>
596
<td>Change the names of files that match a pattern.</td>
600
<td>./scripts.v2/repeat</td>
601
<td>Execute a command multiple times.</td>
605
<td>./scripts.v2/shprof</td>
606
<td>Line profiler for bash scripts.</td>
609
<td>./scripts.v2/untar</td>
610
<td>Unarchive a (possibly compressed) tarfile into a directory.</td>
613
<td>./scripts.v2/uudec</td>
614
<td>Carefully uudecode(1) multiple files.</td>
617
<td>./scripts.v2/uuenc</td>
618
<td>uuencode(1) multiple files.</td>
621
<td>./scripts.v2/vtree</td>
622
<td>Print a visual display of a directory tree.</td>
626
<td>./scripts.v2/where</td>
627
<td>Show where commands that match a pattern are.</td>
633
<td>Example scripts</td>
636
<td>./scripts/adventure.sh</td>
637
<td>Text adventure game in bash!</td>
640
<td>./scripts/bcsh.sh</td>
641
<td>Bourne shell cshell-emulator.</td>
645
<td>./scripts/bash-hexdump.sh</td>
646
<td>hexdump(1) in bash</td>
647
<td>hexdump -C, hd</td>
649
<td>./scripts/cat.sh</td>
650
<td>Readline-based pager.</td>
651
<td>cat, readline pager</td>
654
<td>./scripts/center</td>
655
<td>Center - center a group of lines.</td>
658
<td>./scripts/dd-ex.sh</td>
659
<td>Line editor using only /bin/sh, /bin/dd and /bin/rm.</td>
662
<td>./scripts/fixfiles.bash</td>
663
<td>Recurse a tree and fix files containing various "bad" chars.</td>
666
<td>./scripts/hanoi.bash</td>
667
<td>The inevitable Towers of Hanoi in bash.</td>
670
<td>./scripts/inpath</td>
671
<td>Search $PATH for a file the same name as $1; return TRUE if found.</td>
675
<td>./scripts/krand.bash</td>
676
<td>Produces a random number within integer limits.</td>
680
<td>./scripts/line-input.bash</td>
681
<td>Line input routine for GNU Bourne-Again Shell plus terminal-control primitives.</td>
684
<td>./scripts/nohup.bash</td>
685
<td>bash version of 'nohup' command.</td>
688
<td>./scripts/precedence</td>
689
<td>Test relative precedences for '&&' and '||' operators.</td>
692
<td>./scripts/randomcard.bash</td>
693
<td>Print a random card from a card deck.</td>
697
<td>./scripts/README</td>
701
<td>./scripts/scrollbar</td>
702
<td>Display scrolling text.</td>
705
<td>./scripts/scrollbar2</td>
706
<td>Display scrolling text.</td>
709
<td>./scripts/self-repro</td>
710
<td>A self-reproducing script (careful!)</td>
713
<td>./scripts/showperm.bash</td>
714
<td>Convert ls(1) symbolic permissions into octal mode.</td>
717
<td>./scripts/shprompt</td>
718
<td>Display a prompt and get an answer satisfying certain criteria.</td>
722
<td>./scripts/spin.bash</td>
723
<td>Display a 'spinning wheel' to show progress.</td>
726
<td>./scripts/timeout</td>
727
<td>Give rsh(1) a shorter timeout.</td>
730
<td>./scripts/timeout2</td>
731
<td>Execute a given command with a timeout.</td>
734
<td>./scripts/timeout3</td>
735
<td>Execute a given command with a timeout.</td>
738
<td>./scripts/vtree2</td>
739
<td>Display a tree printout of dir in 1k blocks.</td>
743
<td>./scripts/vtree3</td>
744
<td>Display a graphical tree printout of dir.</td>
748
<td>./scripts/vtree3a</td>
749
<td>Display a graphical tree printout of dir.</td>
753
<td>./scripts/websrv.sh</td>
754
<td>A web server in bash!</td>
757
<td>./scripts/xterm_title</td>
758
<td>Print the contents of the xterm title bar.</td>
761
<td>./scripts/zprintf</td>
762
<td>Emulate printf (obsolete since it's now a bash builtin).</td>
767
<td>./startup-files</td>
768
<td>Example Start-up files.</td>
771
<td>./startup-files/Bash_aliases</td>
772
<td>Some useful aliases (Fox).</td>
775
<td>./startup-files/Bash_profile</td>
776
<td>Sample startup file for bash login shells (Fox).</td>
779
<td>./startup-files/bash-profile</td>
780
<td>Sample startup file for bash login shells (Ramey).</td>
783
<td>./startup-files/bashrc</td>
784
<td>Sample Bourne Again SHell init file (Ramey).</td>
787
<td>./startup-files/Bashrc.bfox</td>
788
<td>Sample Bourne Again SHell init file (Fox).</td>
791
<td>./startup-files/README</td>
797
<td>./startup-files/apple</td>
798
<td>Example Start-up files for Mac OS X.</td>
801
<td>./startup-files/apple/aliases</td>
802
<td>Sample aliases for Mac OS X.</td>
805
<td>./startup-files/apple/bash.defaults</td>
806
<td>Sample User preferences file.</td>
809
<td>./startup-files/apple/environment</td>
810
<td>Sample Bourne Again Shell environment file.</td>
813
<td>./startup-files/apple/login</td>
814
<td>Sample login wrapper.</td>
817
<td>./startup-files/apple/logout</td>
818
<td>Sample logout wrapper.</td>
821
<td>./startup-files/apple/rc</td>
822
<td>Sample Bourne Again Shell config file.</td>
825
<td>./startup-files/apple/README</td>