blob: 93d6a9ec896c5c20e22f6ff0fc9833bac20e4e49 (
plain) (
blame)
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
|
# Function returns calculated options for ls
__lsopts() {
# Declare options array
local -a lsopts
# Snarf the output of `ls --help` into a variable
local lshelp="$(ls --help 2>/dev/null)"
# If the --color option is available and we have a terminal that supports
# at least eight colors, add --color=auto to the options
local -i colors="$(tput colors)"
if [[ $lshelp == *--color* ]] && ((colors >= 8)); then
lsopts[${#lsopts[@]}]='--color=auto'
fi
# Print the options as a single string, space-delimited
printf '%s' "${lsopts[*]}"
}
# Alias ls with these options
alias ls="ls $(__lsopts)"
# Unset helper function
unset __lsopts
# Define and store appropriate colors for ls
if command -v dircolors &>/dev/null; then
eval "$(dircolors --sh)"
fi
|