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>