haiku/data/etc/profile
Augustin Cavalier 57ab322d67 profile: export PS1, don't just set it.
Technically the profile is supposed to be sourced, but it seems that
some scenarios / applications do not do this and instead run it.
Before the recent changes to PS1, it was also exported, and now
it is again. Should fix entering HaikuPorter chroots under the new profile.

Also renamed "ARCH" to "_ARCH" to better accomodate those
who are sourcing this file, in case they want to pass a variable
named ARCH through.
2018-10-27 14:03:44 -04:00

142 lines
2.5 KiB
Bash

#
# Administrative startup for /bin/sh
# Place user customizations in ~/config/settings/profile
#
_ARCH=`getarch 2>/dev/null`
if [ "$_ARCH" = "`getarch -p 2>/dev/null`" ] ; then
echo -e "\nWelcome to the Haiku shell.\n"
PS1="\w"
else
echo -e "\nSwitching to architecture `getarch`\n"
PS1="[$_ARCH] \w"
fi
unset _ARCH
export PS1="\["'`if [ $? = 0 ]; then echo "\e[32m";
else echo "\e[31m"; fi`'"\]$PS1\[\e[0m\]> "
export USER=`id -un`
export GROUP=`id -gn`
if [ -z $BE_HOST_CPU ]; then
. /boot/system/boot/SetupEnvironment
fi
export HISTFILESIZE=500
export HISTCONTROL=ignoredups
alias ls="ls --color=auto"
alias ll="ls -lA"
alias la="ls -A"
alias m="more"
test -n "$BASH_VERSION" && 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
#
test -n "$KSH_VERSION" || 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
}
if test -n "$KSH_VERSION"; then
ps1_pwd() {
local e=$? d=${PWD:-?}/ p=~
[[ $p = ?(*/) ]] || d=${d/#$p\//\~/}
print -nr -- "${d%/}"
return $e
}
PS1=${PS1/'\w'/'$(ps1_pwd)'}
alias which='whence -p'
else
test -n "$BASH_VERSION" || PS1=$(printf '%s' "$PS1" | \
sed 's/\\w/$PWD/')
alias which='whence'
fi
function dir {
ls -lF "$@";
}
for dir in `findpaths -Re B_FIND_PATH_DATA_DIRECTORY profile.d 2> /dev/null`; do
for i in $dir/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
done
unset dir
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi