Imported from ../bash-2.04.tar.gz.
This commit is contained in:
parent
b72432fdcc
commit
bb70624e96
387 changed files with 28522 additions and 9334 deletions
100
examples/scripts/vtree3a
Normal file
100
examples/scripts/vtree3a
Normal file
|
@ -0,0 +1,100 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Name: dirtree
|
||||
# Programmer:
|
||||
# Hemant T. Shah
|
||||
# Life Insurance Data Processing
|
||||
# July 12 1994
|
||||
#
|
||||
# Description:
|
||||
# Print directory tree structure as follows:
|
||||
# |___Mail
|
||||
# |___scheduler
|
||||
# |___cics_scripts
|
||||
# |___tar_msdos
|
||||
# |___awk
|
||||
# |___attributes
|
||||
# |___tmp
|
||||
# |___News
|
||||
# |___dosscsi
|
||||
# |___FAQ_xterminal
|
||||
# |___shell_history.Z
|
||||
# |___FAQ_AIX
|
||||
# |___aix_ftp_site
|
||||
# |___hp_software
|
||||
# |___dnload
|
||||
# |___telnet.h
|
||||
# |___msdos
|
||||
# |___tnetd.tar.Z
|
||||
# |___aix
|
||||
# |___hp
|
||||
# |___xkey.c
|
||||
#
|
||||
# Conversion to bash v2 syntax done by Chet Ramey
|
||||
# - removed command substitutions calling `basename'
|
||||
#
|
||||
|
||||
ProgramName=${0##*/}
|
||||
Path="."
|
||||
ShowAll=1
|
||||
ShowDir=0
|
||||
|
||||
|
||||
ExpandDirectory()
|
||||
{
|
||||
local object # Local variable
|
||||
|
||||
cd "$1"
|
||||
|
||||
for object in $PWD/.??* $PWD/*
|
||||
do
|
||||
if [ -d $object ]; # It is a directory
|
||||
then
|
||||
echo "${indent}|___${object##*/}/"
|
||||
indent="${indent}! " # Add to indentation
|
||||
if [ -x $object ];
|
||||
then
|
||||
ExpandDirectory $object
|
||||
fi
|
||||
indent=${indent%????} # Remove from indentation
|
||||
elif [ -e $object ]; then
|
||||
if (( ShowAll == 1 ));
|
||||
then
|
||||
echo "${indent}|___${object##*/}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
echo -e "Usage: $ProgramName [-h] [-f] [-d] [path] "
|
||||
echo -e "\t-h ... display this help message."
|
||||
echo -e "\t-f path ... shows all files and directories below path (default)."
|
||||
echo -e "\t-d path ... shows all directories only below path."
|
||||
}
|
||||
|
||||
while getopts "fd" opt
|
||||
do
|
||||
case $opt in
|
||||
f) ShowAll=1 ;;
|
||||
#d) ShowDir=1 ;;
|
||||
d) ShowAll=0 ;;
|
||||
*) usage ; exit 2;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift $(( $OPTIND - 1 ))
|
||||
|
||||
Path=${1:-.}
|
||||
|
||||
if [ ! -d "$Path" ]; then
|
||||
echo "$0: error: specified path is not a directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
echo "!$Path/"
|
||||
ExpandDirectory $Path
|
Loading…
Add table
Add a link
Reference in a new issue