haiku/data/etc/profile
Prasad Joshi 4fd62caa9a bash_profile: set ls color alias to auto
ls --color emits the color code irrespective of whether it is being
attached to terminal or not. Which might result in color codes being
added to file upon redirection.

auto option with ls --color emits the color codes only the output is
attached to terminal, otherwise the colors are turned off.

Fixes #8993.

Signed-off-by: Ryan Leavengood <leavengood@gmail.com>
2012-10-03 15:23:57 -04:00

117 lines
1.9 KiB
Bash

#
# Administrative startup for /bin/sh
# Place user customizations in /.profile
#
echo -e "\nWelcome to the Haiku shell.\n"
export USER=`id -un`
export GROUP=`id -gn`
if [ -z $BE_HOST_CPU ]; then
. /boot/system/boot/SetupEnvironment
fi
export PS1="\w> "
export HISTFILESIZE=50
export HISTCONTROL=ignoredups
# Locale
export LC_MESSAGES=`locale -m`
export LC_NUMERIC=`locale -f`
export LC_TIME=`locale -t`
export LC_COLLATE=$LC_MESSAGES
export LC_CTYPE=$LC_MESSAGES
export LC_MONETARY=$LC_NUMERIC
alias ls="ls --color=auto"
alias ll="ls -lA"
alias la="ls -A"
alias m="more"
shopt -s checkwinsize
#
# and now we include a few useful things...
#
#
# An almost-ksh compatible `whence' command. This is as hairy as it is
# because of the desire to exactly mimic ksh.
#
# This depends somewhat on knowing the format of the output of the bash
# `builtin type' command.
#
# Chet Ramey
# chet@ins.CWRU.Edu
#
whence()
{
local vflag= path=
if [ "$#" = "0" ] ; then
echo "whence: argument expected"
return 1
fi
case "$1" in
-v) vflag=1
shift 1
;;
-*) echo "whence: bad option: $1"
return 1
;;
*) ;;
esac
if [ "$#" = "0" ] ; then
echo "whence: bad argument count"
return 1
fi
returnValue=0
for cmd
do
if [ "$vflag" ] ; then
echo $(builtin type $cmd | sed 1q)
else
path=$(builtin type -path $cmd)
if [ "$path" ] ; then
echo $path
else
case "$cmd" in
*/*) if [ -x "$cmd" ]; then
echo "$cmd"
else
returnValue=1
fi
;;
*) case "$(builtin type -type $cmd)" in
"") returnValue=1
;;
*) echo "$cmd"
;;
esac
;;
esac
fi
fi
done
return $returnValue
}
alias which='whence'
function dir {
ls -lF "$@";
}
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi