Her er et godt eksempel fra ksh. Profil for Solaris
################################################## ##############################
# Navn:. Profil
# Beskrivelse: Dette er root profil. Login skjell kilde dette etter
# / Etc / profile. Den brukes til å definere root miljø.
# Alle ikke-miljø konfigurasjonen vil bli gjort i
# Shell bestemt ressurs fil.
# Spesial: ENV \u003d er spesifikk for ksh å angi navnet på det
# Ressurs fil. Bourne shell ignorerer dette.
# Author: Ryan T. Tennant
# Version: 0.1
# Date: 2000/08/09
#
################################################## ##############################
default_paths () (
PATH \u003d "/ usr / bin: / usr / sbin: / sbin: / usr / local / bin"
MANPATH \u003d "/ usr / mann: / usr / local / mann"
LD_LIBRARY_PATH \u003d "/ usr / lib: / usr / local / lib"
OS \u003d "` / usr / bin / uname-s | / usr / bin / grep-ci Søn `"
)
check_openwindows () (
if [-d / usr / openwin]; deretter
PATH \u003d "$ PATH: / usr / openwin / bin: / usr / dt / bin"
MANPATH \u003d "$ MANPATH: / usr / openwin / mann: / usr / dt / mann"
LD_LIBRARY_PATH \u003d "$ LD_LIBRARY_PATH: / usr / openwin / lib: / usr / dt / lib"
fi
)
check_build_environment () (
if [-d / usr / CCS]; deretter
PATH \u003d "$ PATH: / usr / CCS / bin"
LD_LIBRARY_PATH \u003d "$ LD_LIBRARY_PATH: / usr / CCS / lib"
fi
)
check_online_disk_suite () (
if [-d / usr / opt / SUNWmd]; deretter
PATH \u003d "$ PATH: / usr / opt / SUNWmd / sbin"
MANPATH \u003d "$ MANPATH: / usr / opt / SUNWmd / mann"
fi
)
check_veritas_volume_manager () (
# Versjon 2.x
if [-x / opt / VRTSvxva / bin / vxva]; deretter
PATH \u003d "$ PATH: / opt / VRTSvxva / bin"
MANPATH \u003d "$ MANPATH: / opt / VRTSvxva / mann"
fi
# Versjon 3.x
if [-x / opt / VRTSvmsa / bin / vmsa]; deretter
PATH \u003d "$ PATH: / opt / VRTSvmsa / bin"
MANPATH \u003d "$ MANPATH: / opt / VRTSvxvm / mann: / opt / VRTSvmsa / mann"
fi
)
check_sun_ent_volume_manager () (
if [-d / opt / SUNWvxva]; deretter
PATH \u003d "$ PATH: / opt / SUNWvxva / bin"
MANPATH \u003d "$ MANPATH: / opt / SUNWvxvm / mann: / opt / SUNWvxva / mann"
fi
)
check_naviscore () (
if [-d / opt / CascadeView]; deretter
. / opt / CascadeView / etc / cvdb.cfg
. / opt / CascadeView / etc / cascadeview.cfg
. / opt / Sybase / .sybenv
PATH \u003d "$ PATH: / opt / OV / bin"
XUSERFILESEARCHPATH \u003d "/ opt / CascadeView / app-defaults /% N: $ XUSERFILESEARCHPATH"
eksport XUSERFILESEARCHPATH
fi
)
check_networker () (
if [-d / usr / bin / NSR]; deretter
PATH \u003d "$ PATH: / usr / bin / NSR: / usr / sbin / NSR"
fi
)
check_cluster () (
if [-d / opt / SUNWcluster]; deretter
PATH \u003d "$ PATH: / opt / SUNWcluster / bin"
MANPATH \u003d "$ MANPATH: / opt / SUNWcluster / mann"
fi
)
generate_paths () (
default_paths
check_openwindows
check_build_environment
check_online_disk_suite
check_veritas_volume_manager
check_sun_ent_volume_manager
check_naviscore
check_networker
check_cluster
)
set_options () (
case "$ 1" i
* ksh)
EDITOR \u003d "
VI"
Konv \u003d ". Kshrc"
HOSTNAME \u003d `/ usr / bin / uname-n | / usr / bin / cut-d. -f1 `
Personsøker \u003d "/ usr / bin / mer"
if [$ OS-gt 0]; deretter
User \u003d `/ usr/xpg4/bin/id-un`
ellers
User \u003d `id-un`
fi
;;
* sh)
EDITOR \u003d "
VI"
HOSTNAME \u003d `/ usr / bin / uname-n | / usr / bin / cut-d. -f1 `
Personsøker \u003d "/ usr / bin / mer"
CD () (
chdir $ *
set_prompt `basename $ 0`
)
if [$ OS-gt 0]; deretter
User \u003d `/ usr/xpg4/bin/id-un`
ellers
User \u003d `id-un`
fi
;;
esac
)
set_prompt () (
case "$ 1" i
-ksh)
PS1 \u003d "[$ USER @ $ vertsnavn]: $ pwd
# '
;;
-sh)
Pwd \u003d `pwd`
PS1 \u003d "[$ USER @ $ vertsnavn]: $ pwd
# "
;;
esac
)
export_environment () (
eksport ENV pager HOSTNAME LD_LIBRARY_PATH MANPATH personsøker PATH PS1
)
# Begynner miljø
generate_paths
set_options "$ 0"
set_prompt "$ 0"
export_environment
# Videre til $ ENV for ksh ressurser
Hold Ryan navn i det - han skrev det afterall.