|
CS469/569 - Linux and Unix Administration and Networking
Spring 2022
|
Displaying ./code/02-03-Bash_Conditionals_and_Loops/tree.sh
#!/bin/bash
function tree {
local dir="$1" level="$2" i files nfiles;
files=( $dir/* );
nfiles="${#files[*]}";
let i=0;
for file in "${files[@]}";
do
# printf "%*s" $((level*4)) ""
echo -n "$level";
if (( i < nfiles-1 )); then
echo -n "|-- ";
else
echo -n "\`-- ";
fi
echo $(basename "$file");
if [[ -d "$file" ]]; then
if (( i < nfiles-1 )); then
tree "$file" "$level| ";
else
tree "$file" "$level ";
fi
fi
let i++;
done
}
dir="${1:-.}";
echo "$dir";
tree "$dir" "";
|